我似乎无法解决valueForUndefinedKey:]的错误:whereto类与键值编码不兼容

时间:2018-06-22 02:58:04

标签: swift macos core-data

我无法解决的错误是... valueForUndefinedKey:]:此类不兼容键ManagedObjectContext的键值编码

这是有问题的代码段(我认为)...

TripSplitViewController类:NSSplitViewController {

@IBOutlet var tripsArrayController: NSArrayController!

var managedObjectContext = (NSApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext

我正在使用Swift 4和Xcode 9.4(macOS应用程序)以及Core Data访问SQLite数据库。我还创建了3个数据模型,每个模型之间都定义了关系。我还创建了一个拆分视图控制器,并试图建立我的ManagedObjectContext。

一个我认为已经完成的工作是检查绑定和出口连接,所有连接看起来都干净并且正确连接。

我对Swift和Xcode还是很陌生,这是我遇到的第一个问题,即有关堆栈响应的所有帖子在我的应用程序中均不起作用。

最后一件事,应用程序在Core Data上运行良好,直到我将数组控制器添加到Split View Controller,插座及其连接以及managedObjectContext的var声明为止。

请帮助我们。

1 个答案:

答案 0 :(得分:1)

来自Using Key-Value Observing in Swift

  

使用@objc属性和动态修饰符标记要通过键值观察观察的属性。

可可绑定使用KVO。更改

 var managedObjectContext = (NSApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext

 @objc dynamic var managedObjectContext = (NSApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext