神奇记录并不总是保存更改



>我已经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 

猜我做错了什么,但无法想象到底是什么。

保存后正在删除!

MR_saveToPersistentStoreWithCompletion保存,然后运行完成块。

最新更新