我通过NSArrayController使用绑定填充了NSCollectionView。
我正在尝试的是将一个观察者添加到NSArrayController或NSCollectionView中,这样当选择更改时我会调用一个函数。
例如,这就是我正在为NSTextField做的改变:
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.textDidChange(_:)), name: NSTextViewDidChangeSelectionNotification, object: nil)
我正在寻找正确的方法。
答案 0 :(得分:0)
能够通过这个简单的代码实现:
将此添加到applicationDidFinishLaunching:
self.fileListArrayController.addObserver(self, forKeyPath: "selectionIndexes", options: .New, context: nil)
每次用户/程序选择我的NSArrayController
中的项目时,都会调用此函数override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
print(keyPath)
}