大佬教程收集整理的这篇文章主要介绍了swift语言IOS8开发战记21 Core Data2,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
新年到了,祝大家大家羊年快乐,喜气洋洋。上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。这一话中建立的几个变量对照上一话中讲到的coredata中重要的变量,在AppDelegate中,添加如下代码:
lazy var applicationDocumentsDirectory:NSURL = { let urls = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory,inDomains: .UserDomainMask) return urls[urls.count - 1] as NSURL }() //官方比较推荐的写法
lazy var managedObjectModel: NsmanagedObjectModel = { let modelUrl = NSBundle.mainBundle().URLForresource("Model",withExtension: "momd") return NsmanagedObjectModel(contentsOfURL: modelUrl!)! }()//加载model
lazy var persistenetStoreCoordinator:NSPersistentStoreCoordinator = { var coordinator: NSPersistentStoreCoordinator? = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel) let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("data.sqlite") var error: NSError? = nil var @R_626_4895@tring = "Three was an error when creaTing or loading the application's saved data" if coordinator?.addPersistentStoreWithType(NSsqliteStoreType,configuration: nil,URL: url,options: nil,error: &error) == nil { coordinator = nil let Dict = NSMutableDictionary() Dict[NSLocalizedDescriptionKey] = "@L_874_8@ to initialize the application's save data" Dict[NSLocalizedFailureReasonErrorKey] = @R_626_4895@tring Dict[NSUnderlyingErrorKey] = error error = NSError(domain: "YOUR_ERROR_DOMAIN",code: 9999,userInfo: Dict) NSLog("Unsolved error\(error),\(error.userInfo)") abort()//有错误直接退出 } return coordinator!//没有错误就返回 }()//持久化
lazy var managedObjectContext:NsmanagedObjectContext = { let coordinator = self.persistenetStoreCoordinator var managedObjectContext = NsmanagedObjectContext() managedObjectContext.persistentStoreCoordinator = coordinator return managedObjectContext }()//上下文变量定义足够了之后我们来定义方法:
func saveContext(){ if let moc = self.managedObjectContext { var error:NSError? = nil if moc.hasChanges && !moc.save(&error){ NSLog("Unsolved error\(error),\(error.userInfo)") abort() } } }
以上是大佬教程为你收集整理的swift语言IOS8开发战记21 Core Data2全部内容,希望文章能够帮你解决swift语言IOS8开发战记21 Core Data2所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。