Ios 删除核心数据中的对象
我正在尝试删除核心数据实体中的所有对象。Ios 删除核心数据中的对象,ios,objective-c,core-data,Ios,Objective C,Core Data,我正在尝试删除核心数据实体中的所有对象。 我已尝试使用以下代码,但不断出现此错误: 'An NSManagedObjectContext cannot delete objects in other contexts.' 代码如下: - (NSManagedObjectContext *)managedObjectContext { NSManagedObjectContext *context = nil; id delegate = [[UIApplication sha
我已尝试使用以下代码,但不断出现此错误:
'An NSManagedObjectContext cannot delete objects in other contexts.'
代码如下:
- (NSManagedObjectContext *)managedObjectContext {
NSManagedObjectContext *context = nil;
id delegate = [[UIApplication sharedApplication] delegate];
if ([delegate performSelector:@selector(managedObjectContext)]) {
context = [delegate managedObjectContext];
}
return context;
}
- (void) deleteObjects {
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Fixture"];
NSError *error;
NSArray *array = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
if (array == nil) {
NSLog(@"Error");
} else {
NSManagedObject *funFixture = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
[managedObjectContext deleteObject:funFixture];
}
}
你的问题在这里:
NSManagedObject *funFixture = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
您已经执行了fetchRequest,并且对象位于数组中。您需要删除这些对象,而不是重新运行execute。大概是这样的:
for (NSManagedObject* object in array) {
[managedObjectContext deleteObject:object];
}
是吗?