我无法解决的错误是... 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声明为止。
请帮助我们。
答案 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