领域 + NSTableView + NSArrayController
Realm + NSTableView + NSArrayController
我的 macOS 应用程序有一些问题,希望你能帮助我。
我在 macOS 上还很新,所以请多关照 ;)
应用程序的一部分包含一个简单的 NSTableView,其内容绑定到 NSArrayController。
NSArrayController 由领域数据库提供。
如您所见,每一行都有一个复选框,它应该在领域对象中设置 bool 值。
绑定没问题,所以如果我 mark/unmark 复选框似乎尝试在领域对象上书写。
但是由于领域需要一个不会被触发的活动写事务,它崩溃了。
我的问题是:
如何使用 table 视图绑定在领域对象上书写?
有任何想法吗 ?
您可以尝试将以下内容添加到您的模型对象(Realm 对象)中:
override func setValue(_ value: Any?, forKey key: String) {
try! realm?.write {
self.mySetValue(value, forKeyPath: key) // bug in swift preventing directly calling super here
}
}
private func mySetValue (_ value: Any?, forKeyPath key: String) {
super.setValue(value, forKey: key)
}
我的 macOS 应用程序有一些问题,希望你能帮助我。 我在 macOS 上还很新,所以请多关照 ;)
应用程序的一部分包含一个简单的 NSTableView,其内容绑定到 NSArrayController。 NSArrayController 由领域数据库提供。
如您所见,每一行都有一个复选框,它应该在领域对象中设置 bool 值。
绑定没问题,所以如果我 mark/unmark 复选框似乎尝试在领域对象上书写。 但是由于领域需要一个不会被触发的活动写事务,它崩溃了。
我的问题是: 如何使用 table 视图绑定在领域对象上书写? 有任何想法吗 ?
您可以尝试将以下内容添加到您的模型对象(Realm 对象)中:
override func setValue(_ value: Any?, forKey key: String) {
try! realm?.write {
self.mySetValue(value, forKeyPath: key) // bug in swift preventing directly calling super here
}
}
private func mySetValue (_ value: Any?, forKeyPath key: String) {
super.setValue(value, forKey: key)
}