1, NSManagedObjectModel:管理的对象模型,相当于实体,不过它包含了实体间的关系,,,,,,
2, NSManagedObjectContext:管理的对象上下文,操作实际内容,作用:插入数据,查询,更新,删除
3, NSPersistentStoreCoordinator:持久化存储助理,相当于数据库的连接器,,,
4, NSFetchRequest:获取数据的请求,相当于查询语句,,
5, NSPredicate:相当于查询条件
6, NSEntityDescription:实体结构
7后缀名为.xcdatamodel的包,里面的.xcdatamodel文件,用数据模型编辑器编辑,编译后为.MOMD或.MOM文件;
操作步骤:
一、建立模型对象
# import & lt; UIKit/UIKit.h>,
# import & lt; CoreData/CoreData.h>,
@class ViewController;,
,,
@ interface AppDelegate: UIResponder & lt; UIApplicationDelegate>,
,,
@ property(强,原子)ui窗口*窗口;,
,,
@ property(强,原子)ViewController * ViewController;,
,,
@ property(强,原子,只读的)NSManagedObjectModel * managedObjectModel;,
,,
@ property(强,原子,只读的)NSManagedObjectContext *获取;,
,,
@ property(强,原子,只读的)NSPersistentStoreCoordinator * persistentStoreCoordinator;,
@end
//托管对象,
——(NSManagedObjectModel *) managedObjectModel,
{,
,,如果(_managedObjectModel !=nil) {,
,,,,返回_managedObjectModel;,
,,},
//,,NSURL * modelURL=[[NSBundle mainBundle] URLForResource: @“CoreData”withExtension: @“momd”);,
//,,_managedObjectModel=[[NSManagedObjectModel alloc]并modelURL):;,
,,_managedObjectModel=[[NSManagedObjectModel mergedModelFromBundles nil):保留);,
,,返回_managedObjectModel;,
},
,
//持久化存储协调器,
——(NSPersistentStoreCoordinator *) persistentStoreCoordinator,
{,
,,如果(_persistentStoreCoordinator !=nil) {,
,,,,返回_persistentStoreCoordinator;,
,,},
//,,NSURL * storeURL=[[自我applicationDocumentsDirectory] URLByAppendingPathComponent: @“CoreaData.CDBStore”);,
//,,NSFileManager *文件管理=[NSFileManager defaultManager);,
//,,如果(!【文件管理fileExistsAtPath: [storeURL路径]]),
//,,{
//,,,,NSURL * defaultStoreURL=[[NSBundle mainBundle] URLForResource: @“CoreData”withExtension: @“CDBStore”);,
//,,,,如果(defaultStoreURL) {
//,,,,,,(文件管理copyItemAtURL: defaultStoreURL toURL: storeURL错误:无效);,
//,,,,}
//,,}
,,NSString *文档=[NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask,是的)lastObject];,
,,NSURL * storeURL=[NSURL fileURLWithPath:[文档stringByAppendingPathComponent: @“CoreData.sqlite”]];,
,,NSLog(@ % @”“路径,storeURL);,
,,NSError *误差=零;,
,,_persistentStoreCoordinator=[[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[自我managedObjectModel]];,
,,如果(![_persistentStoreCoordinator addPersistentStoreWithType: NSSQLiteStoreType配置:nil URL: storeURL选项:零错误:和错误)){,
,,,,NSLog(@“错误:% @ % @”,错误,用户信息(错误);,
,,},
,,返回_persistentStoreCoordinator;,
}
//托管对象上下文,
——(NSManagedObjectContext *),获取
{,
,,如果(_managedObjectContext !=nil) {,
,,,,返回_managedObjectContext;,
,,},,,,
,,NSPersistentStoreCoordinator *协调员=(自我persistentStoreCoordinator);,
,,如果(协调员!=nil) {,
,,,,_managedObjectContext=[[NSManagedObjectContext alloc] initWithConcurrencyType NSMainQueueConcurrencyType):;,,,,,,
,,,,[_managedObjectContext setPersistentStoreCoordinator协调员):;,
,,},
,,返回_managedObjectContext;,
}
——(NSURL *) applicationDocumentsDirectory,
{,
,,返回[[[NSFileManager defaultManager] URLsForDirectory: NSDocumentDirectory inDomains: NSUserDomainMask] lastObject);,
},
@end
,,,null