刪除/重置核心數據中的所有條目?您知道有什么方法可以刪除全部存儲在Core數據中的條目嗎?我的模式應該保持不變;我只想把它重置為空白。編輯我希望通過編程來實現這一點,這樣用戶就可以在reset紐扣。
3 回答

FFIVE
TA貢獻1797條經驗 獲得超6個贊
- (void) deleteAllObjects: (NSString *) entityDescription { NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName:entityDescription inManagedObjectContext:_managedObjectContext]; [fetchRequest setEntity:entity]; NSError *error; NSArray *items = [_managedObjectContext executeFetchRequest:fetchRequest error:&error]; [fetchRequest release]; for (NSManagedObject *managedObject in items) { [_managedObjectContext deleteObject:managedObject]; DLog(@"%@ object deleted",entityDescription); } if (![_managedObjectContext save:&error]) { DLog(@"Error deleting %@ - error:%@",entityDescription,error); }}

回首憶惘然
TA貢獻1847條經驗 獲得超11個贊
更新iOS 10+解決方案
NSBatchDeleteRequest
// create the delete request for the specified entitylet fetchRequest: NSFetchRequest<NSFetchRequestResult> = MyEntity.fetchRequest()let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest) // get reference to the persistent containerlet persistentContainer = (UIApplication.shared.delegate as! AppDelegate).persistentContainer // perform the deletedo { try persistentContainer.viewContext.execute(deleteRequest)} catch let error as NSError { print(error)}
資料來源:
(包括目標C代碼) (WWDC 2015視頻) (WWDC 2016視頻)
- 3 回答
- 0 關注
- 591 瀏覽
添加回答
舉報
0/150
提交
取消