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
中所做的更改
我想异步更新实体。
但是,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