您的位置:首页 > 其它

摘录自知乎回答

2015-01-17 13:00 246 查看
Core Data --- 管理数据 OBJC
刚学的时候觉得 CD很高深 其实他是最容易用的库之一 他麻烦之处在于多线程问题 还有胶水代码的问题
建立一个 基于Core Data的工程 你会看到他自动创建3个类的对象
NSManagedObjectModel
管理数据的存储结构文件 扩展名是 xcdatamodeld 

NSPersistentStoreCoordinator
用来管理底层数据的存储 用官方的话说 

Core Data is not a relational database or a relational database management system (RDBMS).

所以你可以用很多方法存储数据 比如最长用的sqlite 当然如果另类也可以用plist文件 或者其他

NSManagedObjectContext 
NSManagedObjectContext 把上面两个对象连在一起 把他们变成一个整体
所有的CD操作都是通过这个类的 这个需要仔细看文档了

举个不恰当的例子 就像三个人收拾衣服 一个人负责衣服的存放位置(NSManagedObjectModel) 一个人负责把衣服分类 冬天穿 夏天穿等(NSPersistentStoreCoordinator) 一个人负责协调他们的工作 并且如果有新增加的衣服或者要移除之前的衣服 通知他俩(NSManagedObjectContext)

NSManagedObject 这个类是具体的数据对象 用上面的例子说就是衣服
一般都是继承这个对象 XCode 可以帮你做 具体搜搜 这种文章很多

NSFetchRequest
用来执行CD请求的 相当与select语句外壳

NSEntityDescription
用来描述实体的 对应sql里的table

NSPredicate
谓语 类似select语句中的条件

上面这三个类就可以用来请求数据了 具体看教程吧
中文介绍:http://c.gzl.name/archives/tag/core-data (访问需要点技术...)
文档: http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/coredata/cdprogrammingguide.html

摘自知乎回答http://www.zhihu.com/question/20016551
回答中谈到了很多IOS各个机制的问题,值得学习,遂分享之,上述是本人不太熟悉的地方,mark于此。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Core Data