NSEntityDescription是实体描述对象,它可以类比如数据库中的表,NSEntityDescription存放的是表的结构信息。这些类都是一些抽象的结构类,并不存储实际每条数据的信息,具体的数据由NSManagedObject类来描述,我们一般会将实体类化继承于NSManagedObject。
Xocde工具提供了快捷的实体类化功能,还拿我们一开始创建的班级与学生实体来演示,点击.xcdatamodeld文件,点击Xcode工具上方导航栏的Editor标签,选择Creat NSManagedObject Subclass选项,在弹出的窗口中勾选要类化的实体,如下图:


这时,Xcode会自动为我们创建一个文件,这些文件中有各个类中属性的声明。
一、创建一条数据
使用如下代码进行数据的创建:
//读取数据模型文件
NSURL *modelUrl = [[NSBundle mainBundle]URLForResource:@"Model" withExtension:@"momd"];
//创建数据模型
NSManagedObjectModel * mom = [[NSManagedObjectModel alloc]initWithContentsOfURL:modelUrl];
//创建持久化存储协调者
NSPersistentStoreCoordinator * psc = [[NSPersistentStoreCoordinator alloc]initWithManagedObjectModel:mom];
//数据库保存路径
NSURL * path =[NSURL fileURLWithPath:[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)lastObject] stringByAppendingPathComponent:@"CoreDataExample.sqlite"]];
//为持久化协调者添加一个数据接收栈
/*
可以支持的类型如下:
NSString * const NSSQLiteStoreType;//sqlite
NSString * const NSXMLStoreType;//XML
NSString * const NSBinaryStoreType;//二进制
NSString * const NSInMemoryStoreType;//内存
*/
[psc addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:path options:nil error:nil];
//创建数据管理上下文
NSManagedObjectContext * moc = [[NSManagedObjectContext alloc]initWithConcurrencyType:NSMainQueueConcurrencyType];
//关联持久化协调者
[moc setPersistentStoreCoordinator:psc];
//创建数据对象
/*
数据对象的创建是通过实体名获取到的
*/










