我正在从一本基于iOS4的书中学习CoreData,因此,从书中实现示例代码后,我便将该代码迁移到iOS5(使用情节提要和ARC)。
我还实现了iOS4代码,并且可以完美运行,但是在iOS5版本中,当我从模型对象的名称获取EXC_BAD_ACCESS
时,我得到了NSEntityDescription
:
AppDelegate *appDelegate =[[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Customer" inManagedObjectContext:context];
信号出现在代码的最后一行。我知道委托应该将上下文传递给viewcontroller,但是使用此代码,我可以确定上下文不是问题。
有任何想法吗?为什么我可以在这里获取
EXC_BAD_ACCESS
?我可以确定这行是正确的吗? 最佳答案
这似乎意味着您的实体字符串可能是错误的?为了避免崩溃,您可以使用以下方法:
NSEntityDescription *entity = [[managedObjectModel entitiesByName]
objectForKey:@"Customer"];