iOS 如何中途创建 Core Data数据库?

创建项目的时候没有选CoreData ,写到一半想加进去怎么办?
其实很简单,@import CoreData;
@interface ForModel (){
NSManagedObjectModel _model;
NSPersistentStoreCoordinator
_coordinator;
NSManagedObjectContext*_context;
}

@end
@implementation Fengzhuang
+(instancetype)sharedDao{
static ForModel*dao=nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
dao=[[ForModel alloc]init];
});
return dao;
}
-(id)init{
if (self=[super init]) {
NSURL *momdURL=[[NSBundle mainBundle]URLForResource:@"Model" withExtension:@"momd"];
_model=[[NSManagedObjectModel alloc]initWithContentsOfURL:momdURL];
_coordinator =[[NSPersistentStoreCoordinator alloc]initWithManagedObjectModel:_model];
NSURL *SQLiteURL=[[[[NSFileManager defaultManager]URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask]lastObject] URLByAppendingPathComponent:@"Test.sqlite"];
if ([_coordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:SQLiteURL options:nil error:nil]) {
_context=[[NSManagedObjectContext alloc]init];
[_context setPersistentStoreCoordinator:_coordinator];
}
else
{
exit(0);
}
}

return self;

}
-(People*)insertPeopleWithName:(NSString *)name phone:(NSString )phone header:(UIImage )header
{
People
people=[NSEntityDescription insertNewObjectForEntityForName:@"People" inManagedObjectContext:_context];
people.name=name;
people.phone=phone;
people.img=header;
[_context save:nil];
return people;
}
-(NSArray
)selectedAll
{
NSFetchRequest *reuest=[[NSFetchRequest alloc]initWithEntityName:@"People"];
return [_context executeFetchRequest:reuest error:nil];

}
-(void)updatePeople:(People *)people
{
[_context save:nil];
}
-(void)deletePeople:(People *)people
{
[_context deleteObject:people];
[_context save:nil];
}

想用这个方法要先创建一个MOdel类如下:

iOS 如何中途创建 Core Data数据库?_第1张图片
003nsTb1zy75ynKzcXD89&690.png
iOS 如何中途创建 Core Data数据库?_第2张图片
003nsTb1zy75yq5AWF4ca&690.png

iOS 如何中途创建 Core Data数据库?
iOS 如何中途创建 Core Data数据库?

然后创建一个属于它本身的单例类

iOS 如何中途创建 Core Data数据库?_第3张图片
003nsTb1zy75yqbuQRn3d&690.png

iOS 如何中途创建 Core Data数据库?
一直点next就行了,创建完成是这样的:

iOS 如何中途创建 Core Data数据库?_第4张图片
003nsTb1zy75yqiUujU6a&690.png

iOS 如何中途创建 Core Data数据库?

你可能感兴趣的:(iOS 如何中途创建 Core Data数据库?)