表结构:NSEntityDescription 实体对象,表名
表记录:NSManagedObject 一个管理对象代表你想要保存到数据存储中的一个对象,类似于SQL中的一条记录,并且包含一些对象属性
表查询:NSFetchRequest
数据库存储方式:NSPersistentStoreCoordinator 持久化存储协调者 ,包含数据存储的名字和位置,
数据库模型:NSManagedObjectModel 管理对象数据模型,包含一个你想存储到数据存储中的管理对象的定义
数据库操作:NSManagedObjectContext 管理对象的上下文,类似于应用程序和数据存储间的一块缓冲区,你可以增删改查管理对象
-(NSManagedObjectContext*)managedObjectContext{
if(_managedObjectContext!=nil){
return _managedObjectContext;
}
[_managedObjectContext setPersistentStoreCoordinator: coordinator]; //设置管理对象上下文的持久化存储协调者
}
-(NSManagedObjectModel*)managedObjectModel{
if(managedObjectModel!=nil){
return managedObjectModel;
}
managedObjectModel=[[ NSManagedObjectModel alloc] initWithContentsOfURL:[[ NSBundle mainBundle] URLForResource:@"coredata" withExtension:@"momd"]]; // 设置管理对象模型的momd数据模型文件;
-(NSPersistentStoreCoordinator*)persistentStoreCoordinator{
if(persistentStoreCoordinator!=nil){
returnpersistentStoreCoordinator;
}
persistentStoreCoordinator=[ NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: managedObjectModel];NSURL *storeURL=[ NSSeachPathForDirectoriesInDomains( NSDocumentDirectory,NSUserDomainMask,YES)lastObject ]stringByAppendingPathComponent:@"coredata.sqlite" ]; // 将sqlite文件存放到应用程序的沙盒目录下
}
}