我注意到,在我的核心数据数据模型中,一些实体(在左上角的面板中)有一个'NSManagedObject'类,有些是以类(Person,Company等)命名的。似乎没有任何逻辑来判断实体是否具有Person类的NSManagedObject类等。我的代码似乎工作正常。所以我想知道为什么有差距?为什么一些实体NSManagedObjects和一些以他们的类命名的实体?
编辑
感谢本笃科恩使事情更清楚一点。 这是我当前的代码:
Person *per = (Person *)[NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:managedObjectContext];
[per setName:@"Steve Jobs"];
..This工作是否自定义类是在数据模型或没有明确提及。但我仍然需要自定义类。我做错了吗?我想知道我是否可以简化我的代码。自定义类是通过选择实体并转到“新建文件 - 托管对象类”来创建的,但我认为当我更改它们时链接可能已经断开。
的逻辑是:你创造它,现在你拥有它。除非您创建了自定义类,否则不会使用自定义类。 – 2010-10-18 11:18:09
因为返回类型是'id',而不是'NSManagedObject',所以不需要转换'insertNewObjectForEntityForName:'的返回值。当类型是'id'时,编译器假定你知道你在做什么,并且不会发出任何警告。 – 2010-10-18 13:09:56