好吧,我刪除了存儲在CoreData中的所有對象之後保存問題。如果我不刪除任何東西,我沒有問題,但是一旦我要求它刪除所有對象(刪除所有對象都沒有錯誤或問題),然後再次嘗試保存,它會崩潰並給我一個程序接收信號:SIGABRT。這是我的代碼。iPhone - 刪除CoreData中的對象後嘗試保存新對象時應用程序崩潰
- (void)deleteStoredData
{
// Define our table/entity to use
NSEntityDescription *entity = [NSEntityDescription entityForName:MOVIE_LIST inManagedObjectContext:managedObjectContext];
// Setup the fetch request
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entity];
// Fetch the records and handle an error
NSError *error;
NSUInteger count = [managedObjectContext countForFetchRequest:request error:&error];
if (count) {
for (int i = 0; i < count - 1; i++) {
NSManagedObject *eventToDelete = [self.listOfMovies objectAtIndex:i];
[managedObjectContext deleteObject:eventToDelete];
}
}
[request release];
}
我想這可能是我比較self.listOfMovies存儲的對象,所以我做了一個新的獲取,它複製到一個臨時的NSMutableArray,然後替換爲臨時self.listOfMovies。但沒有變化,仍然崩潰。我有一些如何刪除整個記錄,它不再存在?
我想要做的是將所有內容加載到應用程序中,然後刪除CoreData中的所有對象,以便在應用程序關閉(或終止)時將所有新數據保存在記錄中。我是否正確地做了這件事,還是有更簡單的方法來做到這一點?噢,我只有一個擁有5個NSStrings的實體,所以沒有什麼複雜的。
在此先感謝大家。
很難說出你想要做什麼。數據模型的高級描述,發生錯誤的行和實際發生的錯誤將非常有用。 –
我只有一個實體在我的模型中。稱爲電影。該實體有5個屬性是NSString的。如果我所做的一切都是保存,那麼一切都可以完美保存它提取沒有問題。只有當我嘗試刪除對象然後保存時纔會出現問題。它在保存並在主應用程序上提供SIGABRT時崩潰。 –
此代碼將從持久性存儲中刪除所有「MOVIE_LIST」對象及其所有數據。那是你想要做什麼? – TechZen