объявите функцию handleUpdateValueForCharacteristic
как функцию стрелки, чтобы позволить ей наследовать внешнюю область видимости (то есть область видимости класса), и у вас все будет хорошо.
handleUpdateValueForCharacteristic = data => {
_receivedNb = this.testFunc();
}
Любезность Rob Keniger в какао Dev:
Вы посмотрели на пример SimpleBrowser в/Developer/Examples? Это показывает, как получить текущий выбор, когда это изменяется пользователем, в основном просто настроив действие NSBrowser.
Это - действительно способ сделать это. Просто реализуйте - (пустой) broswerClicked: метод (включая отображение его в интерфейсном разработчике) с тем, что Вы хотите произойти каждый раз выбор, изменяется в том методе, например.
- (void)browserClicked:(id)browser {
self.pathToSelectedCell = [browser path]; // NSPathControl is bound to pathToSelectedCell
}
Я просто зарегистрировался в IB, и похоже, что NSBrowser имеет индексную привязку путей выбора (массив объектов NSIndexPath), что Вы могли возможно контролировать с KVO. Это странно, но я не вижу упоминания о нем в документах, таким образом, Вы, возможно, должны были бы провести немного исследования, чтобы видеть, является ли это чем-то, что Вы должны или не должны использовать, даже если это, кажется, работает. Если бы это делает, в Вашем методе наблюдений KVO Вы нашли бы текущий путь браузера и преобразовали бы это в NSURL, который может использовать управление трактом.
Если это не работает существуют также методы делегата - (BOOL)browser:(NSBrowser *)sender selectRow:(NSInteger)row inColumn:(NSInteger)column
и - (BOOL)browser:(NSBrowser *)sender selectCellWithString:(NSString *)title inColumn:(NSInteger)column
.