OStack程序员社区-中国程序员成长平台

标题: ios - 使用 MagicalRecord 截断所有应用程序关闭后不保存 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 08:56
标题: ios - 使用 MagicalRecord 截断所有应用程序关闭后不保存

我正在使用 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。



Best Answer-推荐答案


使用 MR_truncateAllInContext: 确保使用您通过 saveWithBlock:

启动的实际保存操作所使用的上下文删除您的数据

关于ios - 使用 MagicalRecord 截断所有应用程序关闭后不保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25400036/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4