Swift核心数据:自动生成托管对象子类使模型中的类名为PRODUCT_MODULE_NAME.entityName

时间:2015-04-11 02:58:23

标签: swift core-data

我正在制作纯粹的Swift项目,当我在模型文件中创建实体时,然后使用Editor->Create NSManagedObject Subclass为模型中的实体创建类文件Class属性对于实体变为PRODUCT_MODULE_NAME.entityName,这将导致核心数据无法加载NSManagedObject子类实例。

我知道如何通过使用@objc()并在模型文件中重命名类属性来获得通过,但是有更好的想法吗?

1 个答案:

答案 0 :(得分:1)

两个选项:

  1. PRODUCT_MODULE_NAME替换为此构建设置的值。默认情况下,它与您的TARGET_NAME相同。类字段中的完整值应类似于MyApp.entityName

  2. 在“课程”字段中仅使用entityName,并使用@objc(entityName)

  3. 为swift课程添加前缀

    数据模型中的representedClassName字段似乎在运行时进行评估,因此需要一个文字值。