因未捕获的异常'NSGenericException'而终止应用程序,原因集合< __ NSCFSet:0x608000256260>在被列举时被突变

时间:2017-06-22 10:11:42

标签: ios objective-c xcode core-data nsfetchrequest

我上周加入了一家公司,我得到了一个已经开发的项目,该项目于2012年,13日,14日,2015年开发,我需要在1。5年后再次重新开放。我不明白这个问题,但我想这个问题是因为Coredata。

在获取要在主视图表上显示的数据时记录

在下面的代码中,我在最后一行遇到了崩溃。

有人可以帮助我

在AppDelegate中:

- (NSArray*)getManagedObjectsArrayForEntity:(NSString*)entityName 
                               sortByFields:(NSArray*)sortByFields 
                                  predicate:(NSPredicate*)predicate
                                  ascending:(BOOL)ascending {



    // Create the fetch request for the entity.
    NSFetchRequest *fetchRequest = [[[NSFetchRequest alloc] init] autorelease];
    // Edit the entity name as appropriate.
    NSEntityDescription *entity = [NSEntityDescription entityForName:entityName inManagedObjectContext:self.managedObjectContext];
    [fetchRequest setEntity:entity];

    // Set the batch size to a suitable number.
    [fetchRequest setFetchBatchSize:20];
    [fetchRequest setFetchLimit:-1];

    // Set the sort descriptor
    if (sortByFields) {
        NSMutableArray *sortDescriptors = [NSMutableArray array];
        for (NSString *sortByField in sortByFields) {
            NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:sortByField ascending:ascending];
            [sortDescriptors addObject:sortDescriptor];
            [sortDescriptor release];
        }
        [fetchRequest setSortDescriptors:sortDescriptors];
    }

    if (predicate) {
        [fetchRequest setPredicate:predicate];
        //DDLogVerbose(@"Predicate: %@", [predicate description]);
    }


    NSError *error;
    //=== ***

    return [self.managedObjectContext executeFetchRequest:fetchRequest error:&error]; //<=== Crash here in this lines

}

0 个答案:

没有答案
相关问题