ActiveRecord для основных данных - PullRequest
2 голосов
/ 17 мая 2011

я использую эту библиотеку: 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. и все данные потеряны что я делаю не так?

Ответы [ 2 ]

1 голос
/ 17 мая 2011

Я перепутал контекст, который мне нужно было сохранить в defaultContext, а не контекст, так как он создаст новый

0 голосов
/ 23 сентября 2011

Вам нужно использовать метод createInContext вместо createEntity


    DataBranch *branch = [DataBranch createInContext:context];

...