我使用这个库:https://github.com/jwang/activerecord-fetching-for-core-data
- (NSManagedObjectModel *)managedObjectModel {
if (managedObjectModel != nil) {
return managedObjectModel;
}
NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"BranchData" ofType:@"momd"];
NSURL *modelURL = [NSURL fileURLWithPath:modelPath];
managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return managedObjectModel;
}
///////
[NSManagedObjectModel setDefaultManagedObjectModel:self.managedObjectModel];
[ActiveRecordHelpers setupCoreDataStackWithStoreNamed:@"BranchData.sqlite"];
NSManagedObjectContext *context = [NSManagedObjectContext context];
[NSManagedObjectContext setDefaultContext:context];
NSLog(@"%i", [[DataBranch findAll] count]);
DataBranch *branch = [DataBranch createEntity];
NSLog(@"%i", [[DataBranch findAll] count]);
[[NSManagedObjectContext context] save];
它的工作原理是日志先打印0,然后再打印1
但是,如果我重新启动应用程序,则不会将其保存到sqlite中。并且所有数据丢失
我做错了什么?
最佳答案
我混淆了我需要保存到defaultContext的上下文,而不是上下文,因为它将创建一个新的上下文
关于iphone - ActiveRecord用于核心数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6031818/