Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSBundle swift与sqlite底座_Ios_Iphone_Sqlite_Swift_Core Data - Fatal编程技术网

Ios NSBundle swift与sqlite底座

Ios NSBundle swift与sqlite底座,ios,iphone,sqlite,swift,core-data,Ios,Iphone,Sqlite,Swift,Core Data,真的很抱歉这个愚蠢的问题,但是,刚刚开发了一个从数据库读取信息的应用程序。当从Xcode测试时,可以从我的数据库读取数据。但是,一旦测试了应用程序并将sqlite库放入复制包资源中,该库似乎就不会复制到我的iPhone中。我猜我的AppDelegate出了点问题,但我真的不知道 lazy var managedObjectModel: NSManagedObjectModel = { let modelURL = NSBundle.mainBundle().URLForResou

真的很抱歉这个愚蠢的问题,但是,刚刚开发了一个从数据库读取信息的应用程序。当从Xcode测试时,可以从我的数据库读取数据。但是,一旦测试了应用程序并将sqlite库放入复制包资源中,该库似乎就不会复制到我的iPhone中。我猜我的AppDelegate出了点问题,但我真的不知道

lazy var managedObjectModel: NSManagedObjectModel = {
        let modelURL = NSBundle.mainBundle().URLForResource("RechercheRatio", withExtension: "momd")!
    return NSManagedObjectModel(contentsOfURL: modelURL)!
}()

lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator? = {
     var coordinator: NSPersistentStoreCoordinator? = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel)

    let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("RechercheRatio.sqlite")
    var error: NSError? = nil
    var failureReason = "There was an error creating or loading the application's saved data."

    let mOptions = [NSMigratePersistentStoresAutomaticallyOption : true, NSInferMappingModelAutomaticallyOption : true]
    if coordinator!.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: mOptions, error: &error) == nil {
        coordinator = nil
        // Report any error we got.
        var dict = [String: AnyObject]()
        dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data"
        dict[NSLocalizedFailureReasonErrorKey] = failureReason
        dict[NSUnderlyingErrorKey] = error
        error = NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict)
        // Replace this with code to handle the error appropriately.
        // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
        NSLog("Unresolved error \(error), \(error!.userInfo)")
        abort()
    }
如果有任何帮助或想法,我们将不胜感激


谢谢

可能的重复一般来说,答案是NSDocumentsDirectory未被应用程序安装填充,并且NSBundle.path不可写入,因此您必须将重新填充的数据库从NSBundle复制到NSDocumentsDirectory。谢谢David,但是,我不知道该放在哪里以及如何放置。你有一个快速的例子吗?副本有一个相当长的讨论。