刪除/重置核心數據中的所有條目?您知道有什么方法可以刪除全部存儲在Core數據中的條目嗎?我的模式應該保持不變;我只想把它重置為空白。編輯我希望通過編程來實現這一點,這樣用戶就可以在reset紐扣。
3 回答
繁星淼淼
TA貢獻1775條經驗 獲得超11個贊
- (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貢獻1893條經驗 獲得超10個贊
更新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 關注
- 486 瀏覽
添加回答
舉報
0/150
提交
取消
