Tag: 数据库

两个查询约束在一个关键与parsing和Swift

大家好,我试图得到所有的用户名不包含在数组中的用户名( dontShowUsers ,我也想用variablesname来限制查询,这样可以得到所有用户名和用户名相同的用户。做这个: findUsers.whereKey("username",containsString:name) findUsers.whereKey("username",notContainedIn:dontShowUsers) 每个用户显示。 它同时处理这两个查询,并将它们加在一起。 我想用第二个whereKey约束第一个whereKey 。 最好的办法是什么呢?

商店数据库在iOS的不同位置有什么不同?

我正在使用SQLite.swift。 在文档中,数据库的path是: let path = NSSearchPathForDirectoriesInDomains( .DocumentDirectory, .UserDomainMask, true ).first! 但我想导入和使用现有的数据库,所以我已经拖动我的现有数据库到我的键盘扩展文件夹,并创build与path的连接是: let path = NSBundle.mainBundle().pathForResource("db", ofType:"sqlite3") 因此,我注意到第一种方式,数据库将存储在/Users/*/Library/Developer/CoreSimulator/Devices/8B1DB861-AA3F-446F-A559-D4727CDB9285/data/Containers/Data/PluginKitPlugin/0BC647E4-26F3-4A1F-8271-CC73C96FD197/Documents 第二种方式,数据库将被存储在应用程序中。 /Users/*/Library/Developer/CoreSimulator/Devices/8B1DB861-AA3F-446F-A559-D4727CDB9285/data/Containers/Bundle/Application/E5D9514C-859A-4D4D-A771-A8CE9CDCD3E7/AppName.app/PlugIns/AppNameExt.appex 这两个地方有什么不同? 第二种方式可能会增加应用程序的大小,因为它包含数据库? 如果我想存档/提交我的应用程序到现有的数据库的AppStore,这是唯一的方法?

CoreData Stack适用于Swift中的iOS 9和iOS 10

我正在尝试将Core Data添加到支持iOS 9+的现有项目中。 我添加了由Xcode生成的代码: // MARK: – Core Data stack lazy var persistentContainer: NSPersistentContainer = { let container = NSPersistentContainer(name: "tempProjectForCoreData") container.loadPersistentStores(completionHandler: { (storeDescription, error) in if let error = error as NSError? { fatalError("Unresolved error \(error), \(error.userInfo)") } }) return container }() // MARK: – Core Data Saving support func saveContext () { let […]

“核心数据不是一个关系型数据库”。为什么这个重要知道?

我意识到这可能是很多人的常识,所以如果这似乎是一个愚蠢的问题,所以很抱歉。 我正在努力学习iOS编程的核心数据,并且我反复阅读并听说Core Data(CD)不是一个关系数据库。 但是关于这一点很less有人说,或者为什么超出学术界的意义是非常重要的。 我的意思是至less在function上,似乎你可以使用CD,好像它是一个数据库的大多数事情 – 存储和提取数据,运行查询等。从我的基本理解,我真的不知道它是如何不同数据库。 我并不质疑这个区别是重要的。 我相信很多聪明的人不会浪费时间在这一点上,如果没有用的理解。 但是我想请某人解释 – 理想情况下用例子 – CD不是一个关系数据库如何影响我们如何使用它? 或者,如果我没有被告知CD不是一个关系数据库,那么这会如何影响我作为Objective-C / Swift程序员的性能呢? 如果把CD当作关系数据库,有人可能会尝试做不正确的事情吗? 或者,有关系数据库做不到的事情或者CDdevise做得不好? 谢谢大家的集体智慧。

NSUserDefaults中的可变对象

我创build了一个简单的数据库,并放入NSUserDefaults。 我的数据库是NSMutableArray里面有字典和数组。 当我从NSUSerDefaults创buildNSMutableArray时,我无法将任何对象添加到我的NSMutableArray中的可变对象中。 这是我的代码: NSMutableArray *arrayOne = [NSMutableArray arrayWithContentsOfFile:[self createEditableCopyOfIfNeededWithFileName:@"Form.plist"]]; NSUserDefaults *ayarlar = [NSUserDefaults standardUserDefaults]; [ayarlar setObject:arrayOne forKey:@"form"]; NSMutableArray *arrayTwo = [NSMutableArray arrayWithArray:[[ayarlar objectForKey:@"form"] mutableCopy]]; [[[arrayTwo objectAtIndex:0] objectForKey:@"itemlar"] addObject:@"hop"]; 这里是错误: 'NSInternalInconsistencyException',原因:' – [__ NSCFArray insertObject:atIndex:]:发送给不可变对象的变异方法' 我怎样才能做这个工作? 谢谢大家。

将一个数据库中的表复制到另一个数据库

我想从aDB复制表到另一个bDB。 所以我做了一个方法。 我认为打开2数据库和使用插入查询将工作,但我不知道详细的方式。 -(void)copyDatabaseTableSoruceFileName:(NSString *)source CopyFileName:(NSString *)copy { sqlite3 *sourceDatabase=NULL; sqlite3 *copyDatabase=NULL; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES); NSString* documentDir = [paths objectAtIndex:0]; //source [self copyFileIfNeed:source path:documentDir]; NSString *SourceDBPath = [documentDir stringByAppendingPathComponent:source]; if( sqlite3_open([SourceDBPath UTF8String],&sourceDatabase)!= SQLITE_OK ) { NSLog(@"DB File Open Error :%@", SourceDBPath); sourceDatabase = NULL; } //copy [self copyFileIfNeed:copy path:documentDir]; NSString *CopyDBPath = [documentDir […]

PHP和MySQL的问题

我在Xcode中工作,并有一个iOS应用程序,您input的信息和应用程序通过PHP文件连接到数据库。 上传时,没有问题,名称或电子邮件地址。 但由于某种原因,当通过UITextView上传大量文本时,就会出现问题。 当没有标点符号时,它会成功。 但是,当有一段时间,或一个问号,它不会上传到服务器,它只是失败。 但是在电子邮件领域,当涉及到期限或甚至是@符号时,没有任何问题。 我不熟悉PHP或MySQL后端的东西,所以我很困惑。 这里是php文件的代码: if (isset ($_GET["firstName"]) && isset($_GET["lastName"]) && isset($_GET["emailAddress"]) && isset($_GET["deviceType"]) && isset($_GET["problemTextField"]) && isset($_GET["iosVersion"])){ $firstName = $_GET["firstName"]; $lastName = $_GET["lastName"]; $emailAddress = $_GET["emailAddress"]; $deviceType = $_GET["deviceType"]; $problemTextField = $_GET["problemTextField"]; $iosVersion = $_GET["iosVersion"]; } else { $firstName = "User first name"; $lastName = "User last name"; $emailAddress = "User […]

在Xcode中访问数据库时,SQLite不会准备查询

我是一个初学者的iPhone开发者,试图从Xcode 4.3中的sqlite数据库中获取信息。 我的数据库(名为DB_Info.sqlite)与我的.h和.m文件位于同一个目录中,并且还将数据库拖到Xcode中左侧栏的文件夹部分。 你能不能快速看看我的代码,让我知道我的错误在哪里? 我已经使用NSLog来确定问题发生的位置,最后是if语句,并且写在注释中。 提前谢谢你! #import <sqlite3.h> @implementation Player { sqlite3 *DB_Info; NSString *databasePath; NSString *docsDir; NSArray *dirPaths; } -(Player*)createPlayer:(NSString*)playerName { dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); docsDir = [dirPaths objectAtIndex:0]; databasePath = [[NSString alloc] initWithString: [docsDir stringByAppendingPathComponent: @"DB_Info.sqlite"]]; const char *dbpath = [databasePath UTF8String]; sqlite3_stmt *statement; if (sqlite3_open(dbpath, &DB_Info) == SQLITE_OK) { //works fine […]

Firebase数据库不等于请求 – 替代解决scheme(适用于iOS)

我正在使用具有Json结构的Firebase数据库来pipe理用户的评论。 { "post-comments" : { "post-id-1" : { "comment-id-11" : { "author" : "user1", "text" : "Hello world", "uid" : "user-id-2" },…. } 我想拉所有评论,但不包括当前用户的评论。 在SQL中,这将被翻译成:从后注释select*其中id!=“user-id-2” 据我所知,Firebase数据库不提供基于值的存在排除节点的方法(即:user id!= …)。 因此,是否有其他解决scheme来解决这个问题。 可以通过更改数据库结构,也可以在数据加载完成后处理数据源。 对于后者,我使用了FirebaseTableViewDataSource。 有没有办法在查询后过滤数据? 非常感谢

如何使我的应用程序离线数据库?

我在使用RestAPI和保存离线数据时遇到问题。 有没有人对此有最好的想法。 我想从本地数据库中的服务器保存JSON响应,并在没有互联网可用时使用这些数据。 如Firebase实时数据库。