好的,这就是我得到的错误
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '"Place" is not a subclass of NSManagedObject.'
我认为这意味着'Place'没有作为实体添加到核心数据模型中???但它如下图所示。
我猜我的假设是不正确的,所以任何帮助或想法都会很好。
我很确定这是导致它的那条线:
NSManagedObject* place = [NSEntityDescription
insertNewObjectForEntityForName:@"Place"
inManagedObjectContext:context];
答案 0 :(得分:23)
如果你没有使用自定义类(没有Place。[hm]),听起来好像你没有,请检查实体标签,并确保 Class < / strong>名称为空(= NSManagedObject ) - 不是放置。
答案 1 :(得分:12)
我对名为Message和Connection的类有同样的问题。使用MessageUI库添加电子邮件工具后出现错误。我认为发生冲突是因为库将具有名为Message和Connection的类,因此它们不被视为NSManagedObject的子类。通过前缀(在我的情况下使用X)更改其名称使实体成为唯一的。我打算将来为我的所有实体添加前缀,以便产生冲突的可能性更小。
答案 2 :(得分:0)
遇到此类错误时要做的第一件事是验证实体的类名:
希望这有帮助!
答案 3 :(得分:-1)
解决此问题的另一种方法是确实使用NSManagedObject
子类(推荐)。
Place *place = [NSEntityDescription
insertNewObjectForEntityForName:@"Place"
inManagedObjectContext:context];