Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.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
Swift 未能初始化应用程序';s保存的数据_Swift_Macos_Cocoa_Core Data_Core Data Migration - Fatal编程技术网

Swift 未能初始化应用程序';s保存的数据

Swift 未能初始化应用程序';s保存的数据,swift,macos,cocoa,core-data,core-data-migration,Swift,Macos,Cocoa,Core Data,Core Data Migration,我最近更改了实体中属性的类型。我之前创建了一个新的数据库模型版本。但是有些东西不能正常工作。 如果我运行项目,应用程序将抛出一个错误: 未能初始化应用程序保存的数据 控制台上写着: 2016-01-04 23:21:16.805 toRep_管理[36979:10809172]核心数据:错误:-addPersistentStoreWithType:XML配置:(null)URL:file:///Users/Tom/Library/Application%20Support/de.toEducat

我最近更改了实体中属性的类型。我之前创建了一个新的数据库模型版本。但是有些东西不能正常工作。 如果我运行项目,应用程序将抛出一个错误:

未能初始化应用程序保存的数据

控制台上写着:

2016-01-04 23:21:16.805 toRep_管理[36979:10809172]核心数据:错误:-addPersistentStoreWithType:XML配置:(null)URL:file:///Users/Tom/Library/Application%20Support/de.toEducate.toRep_Management/CocoaAppCD.storedata 选项:{ NSInferMappingModelAutomaticallyOption=1; NSMigratePersistentStoresAutomaticallyOption=1; } ... 返回的错误域=NSCOCAERRORDOMAIN Code=134140“持久存储迁移失败,缺少映射模型。”UserInfo={sourceModel=()可编辑1,实体{ Notice=“()名称通知,managedObjectClassName toRep\u Management.Notice,重命名标识符通知,isAbstract 0,superentity名称(null),属性{\n displayEndDate=\”(),名称displayEndDate,isOptional 1,isTransient 0,实体通知,重命名标识符displayEndDate,验证谓词(\n),警告(\n),versionHashModifier(null)\n userInfo{\n},attributeType 900,attributeValueClassName NSDate,defaultValue(null)\“;\n displayStartDate=\”(),name displayStartDate,等参变量1,isTransient 0,实体通知,重命名标识符displayStartDate,验证谓词(\n),警告(\n),versionHashModifier(null)\n userInfo{\n},attributeType 900,attributeValueClassName NSDate,defaultValue(null)\”;\n isOnline=\”(),name isOnline,IsOptions 1,isTransient 0,实体通知,重命名标识符isOnline,验证谓词(\n),警告(\n),versionHashModifier(null)\n用户信息{\n},attributeType 800,attributeValueClassName NSNumber,defaultValue(null)\“;\n pdf=\”(),名称pdf,等参1,isTransient 0,实体通知,重命名标识符pdf,验证谓词(\n),警告(\n),版本HashModifier(null)\n用户信息{\n},属性类型1000,属性ValueClassName NSData,默认值(null)\”;\n pdfImage=\”(),名称pdfImage,等参变量1,isTransient 0,实体通知,重命名标识符pdfImage,验证谓词(\n),警告(\n),版本HashModifier(null)\n用户信息{\n},属性类型1000,属性ValueClassName NSData,默认值(null)\“;\n标题=\”(),名称标题,等选项1,isTransient 0,实体通知,重命名标识符标题,验证谓词(\n),警告(\n),versionHashModifier(null)\n userInfo{\n},attributeType 700,attributeValueClassName NSString,defaultValue(null)\”;\n},子实体{\n},userInfo{\n},versionHashModifier(null),UniquencesConstraints(\n)”; },获取请求模板{ },destinationModel=()可编辑0,实体{ Notice=“()名称通知,managedObjectClassName toRep\u Management.Notice,重命名标识符通知,isAbstract 0,superentity名称(null),属性{\n displayEndDate=\”(),名称displayEndDate,isOptional 1,isTransient 0,实体通知,重命名标识符displayEndDate,验证谓词(\n),警告(\n),versionHashModifier(null)\n userInfo{\n},attributeType 900,attributeValueClassName NSDate,defaultValue(null)\“;\n displayStartDate=\”(),name displayStartDate,等参变量1,isTransient 0,实体通知,重命名标识符displayStartDate,验证谓词(\n),警告(\n),versionHashModifier(null)\n userInfo{\n},attributeType 900,attributeValueClassName NSDate,defaultValue(null)\“;\n isOnline=\”(),name isOnline,IsOptions 1,isTransient 0,实体通知,重命名标识符isOnline,验证谓词(\n),警告(\n),versionHashModifier(null)\n用户信息{\n},attributeType 800,attributeValueClassName NSNumber,defaultValue(null)\”;\n pdf=\”(),名称pdf,等参1,isTransient 0,实体通知,重命名标识符pdf,验证谓词(\n),警告(\n),版本HashModifier(null)\n用户信息{\n},属性类型1000,属性ValueClassName NSData,默认值(null)\”;\n pdfImage=\”(),名称pdfImage,等参变量1,isTransient 0,实体通知,重命名标识符pdfImage,验证谓词(\n),警告(\n),版本HashModifier(null)\n用户信息{\n},属性类型1800,属性ValueClassName(null),默认值(null)\“;\n title=\”(),名称标题,等选项1,isTransient 0,实体通知,重命名标识符标题,验证谓词(\n),警告(\n),versionHashModifier(null)\n userInfo{\n},attributeType 700,attributeValueClassName NSString,defaultValue(null)\”;\n},子实体{\n},userInfo{\n},versionHashModifier(null),UniquencesConstraints(\n)”; },获取请求模板{ },reason=无法找到或自动推断迁移的映射模型,NSUnderlyingError=0x60800051C0{Error Domain=nscocaerorDomain Code=134190“(null)”UserInfo={entity=Notice,property=pdfImage,reason=源和目标属性类型与UserInfo dictionary不兼容}}}{ NSUnderlyingError=“Error Domain=nscocaerorrordomain Code=134190\”(null)\“UserInfo={entity=Notice,property=pdfImage,reason=Source和destination属性类型不兼容}”; destinationModel=“()可编辑0,实体{\n Notice=\”()名称通知,managedObjectClassName toRep\u Management.Notice,重命名标识符通知,isAbstract 0,超级实体名称(null),属性{\n displayEndDate=\\”(),名称displayEndDate,等参1,isTransient 0,实体通知,重命名标识符displayEndDate,验证谓词(\\n),警告(\\n),版本HashModifier(null)\\n用户信息{\\n},属性类型900,属性ValueClassName NSDate,默认值(null)\\”;\n displayStartDate=\\”(),名称displayStartDate,等选项1,isTransient 0,实体通知,重命名标识符displayStartDate,验证谓词(\\n),警告(\\
lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator = {
    // The persistent store coordinator for the application. This implementation creates and returns a coordinator, having added the store for the application to it. (The directory for the store is created, if necessary.) This property is optional since there are legitimate error conditions that could cause the creation of the store to fail.
    let fileManager = NSFileManager.defaultManager()
    var failError: NSError? = nil
    var shouldFail = false
    var failureReason = "There was an error creating or loading the application's saved data."

    // Make sure the application files directory is there
    do {
        let properties = try self.applicationDocumentsDirectory.resourceValuesForKeys([NSURLIsDirectoryKey])
        if !properties[NSURLIsDirectoryKey]!.boolValue {
            failureReason = "Expected a folder to store application data, found a file \(self.applicationDocumentsDirectory.path)."
            shouldFail = true
        }
    } catch  {
        let nserror = error as NSError
        if nserror.code == NSFileReadNoSuchFileError {
            do {
                try fileManager.createDirectoryAtPath(self.applicationDocumentsDirectory.path!, withIntermediateDirectories: true, attributes: nil)
            } catch {
                failError = nserror
            }
        } else {
            failError = nserror
        }
    }

    // Create the coordinator and store
    var coordinator: NSPersistentStoreCoordinator? = nil
    let migrateOptions = [NSMigratePersistentStoresAutomaticallyOption: true, NSInferMappingModelAutomaticallyOption: true]

    if failError == nil {
        coordinator = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel)
        let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("CocoaAppCD.storedata")
        do {
            try coordinator!.addPersistentStoreWithType(NSXMLStoreType, configuration: nil, URL: url, options: migrateOptions)
        } catch {
            failError = error as NSError
        }
    }

    if shouldFail || (failError != nil) {
        // Report any error we got.
        var dict = [String: AnyObject]()
        dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data"
        dict[NSLocalizedFailureReasonErrorKey] = failureReason
        if failError != nil {
            dict[NSUnderlyingErrorKey] = failError
        }
        let error = NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict)
        NSApplication.sharedApplication().presentError(error)
        abort()
    } else {
        return coordinator!
    }
}()