3 回答
TA贡献1864条经验 获得超2个赞
这个警告是我们正在解决Swift实施细节时要处理的怪癖之一。该警告是虚假的,也就是说,即使您不遵循以下概述的步骤,您的设置也可能会起作用。
在大多数情况下,通过确保在模型编辑器中正确设置了类,我可以摆脱它。与许多其他SOF帖子(包括对该问题的答案)不同,包含模块名称(如MyApp.Shows)的建议对我没有帮助。
确保检查以下三个项目:
1.
适用于Xcode 7 beta 3的版本
最高XCode7 b3
请注意,我已将您的实体名称更正为更合适的单数。
适用于Xcode 7.1中的Swift 2.0的版本
(应适用于Xcode 7 beta 4及更高版本)
您需要在模块中删除文本“当前产品模块”!
从Xcode7 beta 3开始
2.
您还应该遵循经常性的建议,包括
@objc(Show)
就在你班上
注意:如果您使用的是Xcode 7 beta 4或更高版本,则此步骤是可选的。
3.
还要确保投所创建的管理对象到适当的类,作为默认的将只是NSManagedObject。
var newShow = NSEntityDescription.insertNewObjectForEntityForName("Show",
inManagedObjectContext: context) as Show
TA贡献1155条经验 获得超0个赞
在Xcode 6.1.1中,您不需要添加@objc属性,因为基本实体是objc类(NSManagedObject)的子集(请参阅Swift Type Compatibility。在CoreData中,需要完整的Module.Class名称。请注意Module名称是在“构建设置”->“包装”->“产品模块名称”中设置的名称。默认情况下,此名称设置为$(PRODUCT_NAME:c99extidentifier),将成为目标的名称。
添加回答
举报