0

我通过 NSArrayController 使用绑定填充了 NSCollectionView。

All i am trying is to add an observer to either NSArrayController or NSCollectionView so that when ever the selection changes i got a call a function.

例如,这就是我为 NSTextField 更改所做的事情:

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.textDidChange(_:)), name: NSTextViewDidChangeSelectionNotification, object: nil)

我正在寻找正确的方法来做到这一点。

4

1 回答 1

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)  
}  
于 2016-08-10T05:43:03.893 回答