应用关闭后,使用MagicalRecord截断所有内容而不保存

时间:2014-08-20 08:26:00

标签: ios core-data magicalrecord

我正在使用魔法记录,我想要做的是当用户输入多项目选择器表格视图时,他可以检查并取消选中许多项目,这些项目在完成后会被保存。

当我使用应用程序时没有问题,但是当我离开和返回时,检查之前检查过的所有项目和新项目都会被检查(让我们说我检查过了)启动时有5个项目,然后我返回多项目选择器,取消选中它们并检查其他5个项目,当我离开应用程序后返回多项目选择器时,将检查10项。

按下"完成"这是我的代码。我的选择按钮:

 -(void)selector:(KNMultiItemSelector *)selector didFinishSelectionWithItems:(NSArray *)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。

1 个答案:

答案 0 :(得分:4)

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

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