我正在开始将应用转换为核心数据的过程。我构建了数据模型,首先让Xcode成功创建了与实体对应的NSManagedObject
个自定义类。但后来我意识到实体和类名没有我的应用程序前缀,我认为这会大大增加转换到Core Data所需的编码更改的工作量。
因此,我删除了对自定义类的引用,使用我的前缀在数据模型中重命名了我的实体,将每个实体的“class”属性重置为默认值,并尝试再次创建自定义类。我像以前一样完成向导,但现在Xcode拒绝为实体创建类,而是创建一个带有应用程序名称的头 - 实现对。 .h和.m文件对应于我正在分类的实体(或者当我选择多个时,列表中的最后一个实体),但名称和关系当然是无效的,因此没用。谁能解释为什么Xcode会这样做,以及如何解决它?
答案 0 :(得分:0)
您正在创建的托管对象的类名要与要创建的类的名称相对应 - 所以我不确定您将它们重置为默认值的含义,但是说您的前缀是AB,并且你的类是Thing,那么你希望class属性是ABThing。如果你已经这样做了,我可能误解了你的意思,将它们归还为默认值。 此外,值得注意的是,如果您在更改核心数据模型后再次启动应用程序,则必须删除当前的核心数据模型 - 您可以使用:
NSError* error = nil;
[[NSFileManager defaultManager] removeItemAtURL:<URL For your Store> error:&error];