MagicalRecord并不总是保存更改

时间:2015-04-13 05:01:14

标签: ios objective-c core-data magicalrecord

我从数组中填充UICollectionView,该数组使用MagicalRecord从CoreData获取数据。我也有按钮"删除"必须删除所有选定的单元格及其对象。问题是我的方法正确删除了数组中的单元格和对象,但没有在CoreData中删除。

以下是我方法的一部分:

  NSMutableIndexSet *indexSet = [NSMutableIndexSet indexSet];
__block int counter = 0;
[itemPaths enumerateObjectsUsingBlock:^(NSIndexPath *itemPath, NSUInteger idx, BOOL *stop) {
    if ( [selectedCellsArray containsObject:[NSString stringWithFormat:@"%lu",(unsigned long)itemPath.row]]  )
        {
        [indexSet addIndex:itemPath.item];
           Content *obj = self.testAssets[itemPath.item];
            NSLog(@"deleting asset # %d it is %@ in %lu",(int)idx,obj,(unsigned long)itemPaths.count);
            [nsmContext MR_saveToPersistentStoreWithCompletion:^(BOOL success, NSError *error) {
                [obj MR_deleteEntity];
                if(success){
                    counter++;
                    NSLog(@"Entity deleted!");
                } else{
                    NSLog(@"Entity NOT deleted");
                }
            }];
}];

以下是我在日志窗口中结束方法后看到的内容:

 -[NSManagedObjectContext(MagicalRecord) MR_contextWillSave:](0x7fb6fbc3db40) Context DEFAULT is about to save. Obtaining permanent IDs for new 3 inserted objects
 -[NSManagedObjectContext(MagicalSaves) MR_saveWithOptions:completion:](0x7fb6fbc3d040) → Saving <NSManagedObjectContext (0x7fb6fbc3d040): *** BACKGROUND SAVING (ROOT) ***> on *** MAIN THREAD ***
 -[NSManagedObjectContext(MagicalSaves) MR_saveWithOptions:completion:](0x7fb6fbc3d040) → Save Parents? 1
 -[NSManagedObjectContext(MagicalSaves) MR_saveWithOptions:completion:](0x7fb6fbc3d040) → Save Synchronously? 0
 -[NSManagedObjectContext(MagicalRecord) MR_contextWillSave:](0x7fb6fbc3d040) Context BACKGROUND SAVING (ROOT) is about to save. Obtaining permanent IDs for new 3 inserted objects
 __70-[NSManagedObjectContext(MagicalSaves) MR_saveWithOptions:completion:]_block_invoke21(0x7fb6fbc3d040) → Finished saving: <NSManagedObjectContext (0x7fb6fbc3d040): *** BACKGROUND SAVING (ROOT) ***> on *** BACKGROUND THREAD ***
 [NSManagedObjectContext(MagicalSaves) MR_saveWithOptions:completion:](0x7fb6fbc3d040) NO CHANGES IN ** BACKGROUND SAVING (ROOT) ** CONTEXT - NOT SAVING
 [NSManagedObjectContext(MagicalSaves) MR_saveWithOptions:completion:](0x7fb6fbc3d040) NO CHANGES IN ** BACKGROUND SAVING (ROOT) ** CONTEXT - NOT SAVING
 Entity deleted!
 Entity NOT deleted 
 Entity NOT deleted 

猜猜我做错了什么,但无法想象究竟是什么。

1 个答案:

答案 0 :(得分:0)

保存后您正在删除!

MR_saveToPersistentStoreWithCompletion保存然后运行完成块。

相关问题