- 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)
- NSManagedObjectModel
- 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于此。
摘录自知乎回答
最新推荐文章于 2024-07-16 07:22:04 发布