【发布时间】:2015-04-11 02:58:23
【问题描述】:
我正在制作一个纯 Swift 项目,当我在模型文件中创建实体时,然后使用 Editor->Create NSManagedObject Subclass 为实体创建类文件,在模型中,实体的 Class 属性变为 PRODUCT_MODULE_NAME.entityName ,这将导致核心数据无法加载 NSManagedObject 子类实例。
我知道如何通过使用@objc() 并重命名模型文件中的类属性,但有什么更好的办法吗?
【问题讨论】:
-
感觉Xcode中的“Create NSManagedObject Subclass ...”还是坏掉了...应该是
${PRODUCT_MODULE_NAME}.entityName,应该自动展开。这行得通吗? -
我认为您不需要 @objc() 和在模型文件中更改名称 - 我认为这是其中之一。 Swift 命名空间的根本问题 - 要么将实体转换为目标 C,要么在其名称前加上模块名称。