• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 使用 MagicalRecord 截断所有应用程序关闭后不保存

[复制链接]
菜鸟教程小白 发表于 2022-12-13 08:56:27 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap