"未找到类,使用默认的NSManagedObject"在AppName中具有特殊字符

时间:2015-03-25 09:04:38

标签: ios core-data

当我在App-Name中使用“ - ”字符时,出现以下错误:

CoreData: warning: Unable to load class named "<AppName>.<ClassName>" for entity <ClasName>. Class not found, using default NSManagedObject instead.

我正在使用带有子类NSManagedObjects的CoreData,因此我将DB-File中的所有实体类名称命名为AppName.ClassName。

App-Names中是否禁止使用此字符?

谢谢!

1 个答案:

答案 0 :(得分:1)

我不确定这是否适用于NSManagedObjects,但Apple书“使用Swift与Cocoa和Objective C”(在“混合搭配”标题下,声明:

  

命名您的产品模块

     

Swift代码的Xcode生成标头的名称,以及Xcode为您创建的Objective-C桥接标头的名称,是根据您的产品模块名称生成的。默认情况下,产品模块名称与产品名称相同。但是,如果您的产品名称包含任何非字母数字字符(例如句点(。)),则它们将替换为产品模块名称中的下划线(_)。如果名称以数字开头,则第一个数字将替换为下划线。“

     

摘自:Apple Inc.“将Swift与Cocoa和Objective-C一起使用。”Apple Inc.,2014-07-31T07:00:00Z。 iBooks的。   本资料可能受版权保护。

     

在iBooks商店中查看此书:https://itun.es/gb/1u3-0.l

这显然是用于桥接标头,但我只是想知道类似的规则是否适用于CoreData类名。