【问题标题】:MagicalRecord updating entity in asyncMagicalRecord 异步更新实体
【发布时间】:2015-05-21 16:36:50
【问题描述】:

我想异步更新实体。
但是,NSLog 输出 success - 0, error - (null)

[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
        UserData *data = [UserData MR_findFirstWithPredicate:predicate];
        data.name = name;
    } completion:^(BOOL success, NSError *error) {
        NSLog(@"success - %d, error - %@", success, error);
    }];

如何修复它以使更新成功?

【问题讨论】:

    标签: objective-c magicalrecord


    【解决方案1】:

    你需要改变localContext中的值,之后会被保存

    UserData *data = [UserData MR_findFirstWithPredicate:predicate];
    
    [MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
        UserData *localData = [data MR_inContext:localContext];
        localData.name = name;
    } completion:^(BOOL success, NSError *error) {
        NSLog(@"success - %d, error - %@", success, error);
    }];
    

    那是因为saveWithBlock: 只保存在 localContext 中所做的更改

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-20
      • 1970-01-01
      • 2021-05-04
      • 2012-10-26
      • 1970-01-01
      • 2018-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多