MagicalRecord 异步更新实体

MagicalRecord updating entity in async

我想异步更新实体。
但是,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);
    }];

如何解决才能使更新成功?

您需要更改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

中所做的更改