Как правильно прослушивать выбор элемента в NSArrayController через NSNotificationCenter.defaultCenter() в Swift 2.1

У меня есть NSCollectionView заполнены с помощью привязки через NSArrayController.

Все, что я пытаюсь - это добавить наблюдателя в NSArrayController или NSCollectionView, чтобы при изменении выбора я получал вызов функции.

Например, вот что я делаю для изменения NSTextField:

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

Я ищу правильный способ сделать это.

1 ответ

Можно достичь с помощью этого простого кода:

Добавил это в приложение DidFinishLaunching:

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)  
}  
Другие вопросы по тегам