MagicalRecord没有保存

时间:2017-01-05 23:27:37

标签: ios core-data magicalrecord

我想知道为什么我的Core Data停止保存更改。事实上,上面的代码工作了几个小时。当我尝试打印出错误时,会打印(null)。以下代码是NSManagedObjectSubclass的自定义方法:

-(void)bindWithModel:(MenuAPIModel*)model{

    self.basketId = [model.basketId integerValue];
    self.coreId = [model.itemId integerValue];
    self.name = [model name];
    self.orderId = [model.orderId integerValue];
    self.payedFrom = [model payedFrom];
    self.persons = [model persons];
    self.price = [model.price integerValue];
    self.price3 = [model.price3 integerValue];
    self.price12 = [model.price12 integerValue];
    self.status = [model status];

     [[NSManagedObjectContext MR_defaultContext] MR_saveOnlySelfWithCompletion:^(BOOL contextDidSave, NSError * _Nullable error) {

    NSLog(@"error %@", error.localizedDescription);

}];

错误为空,contextDidSave为YES。但是当我尝试访问实体时,它打印为null,而SQL表是空的。为什么?

1 个答案:

答案 0 :(得分:1)

我假设bindWithModel方法在NSManagedObject子类中。如果是这样,那么您应该使用此类中的managedObjectContext属性而不是MR_defaultContext

[self.managedObjectContext  MR_saveOnlySelfWithCompletion:^(BOOL contextDidSave, NSError * _Nullable error) { (...) }];

之前它的运作可能是因为[NSManagedObjectContext MR_defaultContext]的上下文与self.managedObjectContext相同。