>我已经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
保存,然后运行完成块。