2016-03-03 48 views
1

我有一個清除一堆管理對象的清理例程,形成一些似乎會觸發大量CoreData錯誤的原因。爲什麼deleteObject:導致CoreData出錯?

NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"LogEvent"]; 
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"id" ascending:YES]; 
[request setSortDescriptors:@[sortDescriptor]]; 
[request setFetchLimit:numberToPurge]; 

NSArray *events = [context executeFetchRequest:request error:nil]; 

for (LogEvent *event in events) { 
    [context deleteObject:event]; 
} 

[context save:nil]; 

這就是我在文書中看到的。

CoreData faulting with deleteObject

+0

我不知道爲什麼,但你可以優化propertysToFetch空數組和returnAsFaults編號。 – malhal

回答

0

這種故障通常被炒到更新對被鏈接到已刪除的對象的對象逆關係。

+0

這個對象雖然沒有關係,但不能成爲理由。 – trapper

+0

嘗試將'includesPropertyValues'設置爲'NO'。 – bteapot

相關問題