我正在使用 Magical Record,我想做的是当用户进入多项目选择器 TableView 时,他可以选中和取消选中许多项目,当按下完成时,这些项目被保存。
当我使用该应用程序时没有问题,但是当我离开并返回时,之前检查过的所有项目和新项目都会被检查(假设我在启动时检查了 5 个项目,然后我去回到多项目选择器,取消选中它们并检查其他 5 个,当我离开应用程序后返回多项目选择器时,将检查 10 个。
这是我按下选择器的“完成”按钮时的代码:
-(void)selectorKNMultiItemSelector *)selector didFinishSelectionWithItemsNSArray *)selectedItems
{
[self dismissViewControllerAnimated:YES completion:^{
currentFriends = selectedItems;
[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
[FriendsSelected MR_truncateAll];
for (KNSelectorItem * user in selectedItems) {
FriendsSelected *friend = [FriendsSelected MR_createEntityInContext:localContext];
friend.friendID = user.selectValue;
friend.friendName = user.displayValue;
NSLog(@"Friend %@ Saved", friend.friendName);
}
}];
}];
}
我尝试在应用程序终止时保存,我尝试使用完成和后台任务,没有任何接缝可以工作。也许我错过了什么?
PS:我试过 this other answer但它不起作用,并且在我使用的版本中已弃用 MR_save。
使用 MR_truncateAllInContext:
确保使用您通过 saveWithBlock:
关于ios - 使用 MagicalRecord 截断所有应用程序关闭后不保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25400036/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |