Dan*_*l D 8 core-data ios swift
我在Xcode 6上使用Swift CoreData.
我读过的发行说明,并已看到了这个问题,关于确保标记了一个模块名称(应用程序名称)核心数据模型,这样你就可以施放NSManagedObject在运行时的型号.
当我这样做时,我可以让应用程序正常运行(好!).但是,我的问题是,当我尝试测试相同的代码时,只要转换发生Swift dynamic cast failed错误(bad :(),测试就会崩溃.这使得我很难测试我的应用程序.
在为测试与运行构建应用程序时,我们使用的模块名称是否有任何影响?
提前感谢任何指针......
跟进:
这并不理想:如上所述,为了让Swift使用Core Data模型,您需要使用应用程序的名称来修饰类名.这适用于构建应用程序,但测试在不同的应用程序名称下运行!这意味着您需要进入数据建模器并将该类名更改为myAppname.myEntity,myAppnameTests.myEntity然后才能在测试使用或调用时按名称使用这些实体.
您需要向 Entity.swift 文件添加一行,使其成为 Objective-C 类,如下所示:
@objc(YourEntity)
class YourEntity: NSManagedObject {
...
}
Run Code Online (Sandbox Code Playgroud)
如果您的项目不包含任何 Objective-C 代码,我认为这是一个错误。但是,您需要添加该行直到此问题修复。
我是从这里学到的。
| 归档时间: |
|
| 查看次数: |
2279 次 |
| 最近记录: |