OGeek|极客世界-中国程序员成长平台

标题: ios - 尝试访问核心数据时出错 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 22:56
标题: ios - 尝试访问核心数据时出错

我正在尝试获取我保存在一个核心数据对象中的值,但是我不断收到此错误

 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+entityForName: nil is not a legal NSManagedObjectContext parameter searching for entity name 'Man''

结果错误发生在我编写的代码中,它尝试访问核心数据对象然后记录其内容,如下所示。

if ([manufDBVNumber isEqualToNumber:currentDBVersion]) {
        // READ FROM CORE DATA
        // WRITE TO CORE DATA
        NSManagedObjectContext *context = [self managedObjectContext];

        NSLog(@"%@", context);

        // Test listing all FailedBankInfos from the store
        NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
        NSEntityDescription *entity = [NSEntityDescription entityForName"Man" inManagedObjectContext:self.managedObjectContext]; // This is where the error is happening.
        [fetchRequest setEntity:entity];

        NSError *error;


        NSMutableArray *manufacturerDictionaryArray = [[NSMutableArray alloc] init];


        NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];
        for (Manuf *manuf in fetchedObjects) {
            NSLog(@"MANA: %@", man.mana);
            NSLog(@"SURGE: %@", man.surge);
            NSLog(@"HEALTH: %@", manuf.health);


etc//....

这就是我合成 managedObjectContext 和 fetchedResultsController 的方式

// Core-Data variables used for fetching and managing the object
@synthesize fetchedResultsController = __fetchedResultsController;
@synthesize managedObjectContext = __managedObjectContext;

任何帮助将不胜感激。



Best Answer-推荐答案


你这样做:

NSManagedObjectContext *context = [self managedObjectContext];

然后你访问这个:

self.managedObjectContext

假设你的 NSLog(@"%@", context); 显示一个有效的 NSManagedObjectContext,那么我会这样做:

NSEntityDescription *entity = [NSEntityDescription entityForName"Man" inManagedObjectContext:context];

或者,将您的原始声明更改为:

self.managedObjectContext = [self managedObjectContext];

关于ios - 尝试访问核心数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12666919/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4