我在一个简单的表格视图应用程序中使用 Core Data,它跟踪用户的练习。当一条记录被删除时,删除会在应用程序的启动过程中持续存在。但是,如果我关闭应用程序并重新打开它,记录会重新出现。用户可以从详细视图中删除记录:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSString *title = [alertView buttonTitleAtIndex:buttonIndex];
if([title isEqualToString:@"OK"])
{
//delete record from database...
NSEntityDescription *entityDesc = [NSEntityDescription entityForName:@"Parameters" inManagedObjectContext:context];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDesc];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like %@", parameters.name];
[request setPredicate:predicate];
NSError *error;
NSArray *matchingData = [context executeFetchRequest:request error:&error];
for (NSManagedObject *obj in matchingData) {
[context deleteObject:obj];
}
[self dismissViewControllerAnimated:YES completion:nil];
}
else if([title isEqualToString:@"Cancel"])
{
}
}
我无法弄清楚为什么删除的记录会重新出现。这发生在模拟器和设备上。我在模拟器上“重置内容和设置”,但仍然没有运气。
非常感谢任何建议。提前致谢。