Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 删除核心数据中的对象_Ios_Objective C_Core Data - Fatal编程技术网

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];
}
是吗?