核心数据+ Swift +加载模型不起作用

时间:2014-10-12 16:22:15

标签: ios core-data swift

我使用Swift语言生成了托管对象,因此不再使用Objective-C了。你知道Swift一代还没有工作吗?

我在这一行收到一个错误:

let modelURL = NSBundle.mainBundle().URLForResource("TA", withExtension: "mom")

2014-10-12 18:17:13.940 TA[1767:555144] CoreData: warning: Unable to load class named 'Trip' for entity 'Trip'.  Class not found, using default NSManagedObject instead.

fatal error: unexpectedly found nil while unwrapping an Optional value

我已将数据模型添加到项目中。那么呢?

2 个答案:

答案 0 :(得分:7)

如果您在Xcode中将模型从一个项目移动到另一个项目,这不是一个好习惯。您将收到此崩溃,因为应用程序无法加载模型文件。

如果您需要在其他项目中使用完全相同的模型,则在Finder中打开原始模型文件,复制xml的相应部分,然后在Finder中打开目标模型文件并将该xml部分放入。

答案 1 :(得分:1)

我的申请遇到了同样的问题。我想在现有项目中使用核心数据,我没有选择核心数据进行初始化。

确保在两个位置更改模型的名称。

let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("TA.sqlite")

并且

let modelURL = NSBundle.mainBundle().URLForResource("TA", withExtension: "momd")!