- 创建数据模型:
- 在Xcode中,创建一个新的
.xcdatamodeld
文件。
- 打开数据模型编辑器,添加一个新的实体,命名为
User
。
- 为
User
实体添加两个属性,一个名为name
,类型为String
;另一个名为age
,类型为Integer 16
。
- 设置Core Data堆栈:
- 在AppDelegate.h文件中,添加以下属性:
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;
- 在AppDelegate.m文件中,实现获取
NSManagedObjectContext
、NSManagedObjectModel
和NSPersistentStoreCoordinator
的方法。例如获取NSManagedObjectContext
的方法:
- (NSManagedObjectContext *)managedObjectContext {
if (_managedObjectContext != nil) {
return _managedObjectContext;
}
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (!coordinator) {
return nil;
}
_managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
[_managedObjectContext setPersistentStoreCoordinator:coordinator];
return _managedObjectContext;
}
- 插入用户数据:
- 在需要插入数据的地方,例如某个视图控制器中,导入AppDelegate头文件:
#import "AppDelegate.h"
- 获取
NSManagedObjectContext
并插入数据:
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = appDelegate.managedObjectContext;
NSEntityDescription *entity = [NSEntityDescription entityForName:@"User" inManagedObjectContext:context];
NSManagedObject *newUser = [[NSManagedObject alloc] initWithEntity:entity insertIntoManagedObjectContext:context];
[newUser setValue:@"John" forKey:@"name"];
[newUser setValue:@25 forKey:@"age"];
NSError *error = nil;
if (![context save:&error]) {
NSLog(@"Error saving context: %@", error);
}