我使用这个库: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/

10-11 02:45