Xcode7 CoreData问题


在使用CoreData中出现了这样的错误


 CoreData: warning: Unable to load class named 'CoreDataSwift2_2.Bowtie' for entity 'Bowtie'.  Class not found, using default NSManagedObject instead.

fatal error: NSArray element failed to match the Swift Array Element type

Google一圈发现,主要是有两个问题没有注意:
1、


 swift


 @objc(Bowtie)
class Bowtie: NSManagedObject {

// Insert code here to add functionality to your managed object subclass

}

有的忘记添加了 @objc(Bowtie)
这里一点在Xcode7中已经可以在动给你补全了,所以我的问题没有出现在这里。

2、在生成 NSManagedObject 子类之后,要在 .xcdatamodeld 文件中将Entity的Class属性修改成“项目名.Rntity名”的形式,可是 修改成这样之后,那个 . 或自动消失。现在不加项目名称,错误提示中 CoreDataSwift2_2.Bowtie 不能加载到这个文件。说明了Xcode7中,你不用去添加项目名称。Xcode7已经帮你填加了,相反如果你填加了之后反而会出现错误。

在我看来这两个容易出错的地方我都没有错误。

我的疑问两个:
1、我在生成的 .sqlite 文件中已经可以看到了我写入的一些数据。

2、既然可以看到我写入的数据但是现在,取不出来。
fatal error: NSArray element failed to match the Swift Array Element type

希望有大神可以帮我解决一下问题

ios-coredata ios swift

灼热冰淇淋 10 years, 1 month ago

问题解决了:

删除: @objc(Bowtie)

stackoverflow 上已解决。

可笑的梦该醒了 answered 10 years, 1 month ago

Your Answer