好吧,我删除了存储在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