实际上现在iOS8都快出了,这本书应该也算是很老的一本书了,不过翻看了两眼,其中的coredata内容写的相当细致,可以说是我看到过的文字资料里最详细的,所以也就特别记录了一下.当做是一个温故知新吧.
coredata的5个关键概念
1.数据模型(Data Model).
对数据和数据组件之间的一种定义.定义了对象的数据结构,对象的组织方式,对象之间的关系,以及对象的行为.
创建的方式可以是这两种,第二种的意思是搜索工程中所有的.xcdatamodeld文件,并加载所有的实体到一个NSManagedObjectModel 实例中
NSURL *modelURl = [[NSBundle mainBundle] URLForResource:@"Model" withExtension:@"momd"]; managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURl]; <pre name="code" class="objc">//managedObjectModel = <span style="font-family: Arial, Helvetica, sans-serif;">[NSManagedObjectModel mergedModelFromBundles:nil];</span>
2.持久化存储(Persistent Store)
分为几种存储方式
// Persistent store types supported by Core Data: COREDATA_EXTERN NSString * const NSSQLiteStoreType NS_AVAILABLE(10_4, 3_0);//sqlite存储 COREDATA_EXTERN NSString * const NSXMLStoreType NS_AVAILABLE(10_4, NA);//xml存储 COREDATA_EXTERN NSString * const NSBinaryStoreType NS_AVAILABLE(10_4, 3_0);//二进制存储 COREDATA_EXTERN NSString * const NSInMemoryStoreType NS_AVAILABLE(10_4, 3_0);//内存存储
4.Managed Object和Managed Object Context
Managed Object可以将实体变为OC对象,Managed Object Context则是协调对象与存储之间的上下文
5.Fetch Request
请求
数据模型定义了对性的数据结构,对象的组织方式,对象之间的关系,以及对象的行为
数据模型面板主要的构成
NSEntityDescription对象包含了Entity所拥有的属性,关系等信息,我们可以通过NSEntityDescription生成相应的NSManagedObject的实体