Как я держу NSPathControl в курсе с путем выбранной ячейки в NSBrowser

объявите функцию handleUpdateValueForCharacteristic как функцию стрелки, чтобы позволить ей наследовать внешнюю область видимости (то есть область видимости класса), и у вас все будет хорошо.

handleUpdateValueForCharacteristic = data => {
  _receivedNb = this.testFunc();
}
5
задан Quinn Taylor 30 June 2009 в 20:07
поделиться

2 ответа

Любезность Rob Keniger в какао Dev:

Вы посмотрели на пример SimpleBrowser в/Developer/Examples? Это показывает, как получить текущий выбор, когда это изменяется пользователем, в основном просто настроив действие NSBrowser.

Это - действительно способ сделать это. Просто реализуйте - (пустой) broswerClicked: метод (включая отображение его в интерфейсном разработчике) с тем, что Вы хотите произойти каждый раз выбор, изменяется в том методе, например.

- (void)browserClicked:(id)browser {
    self.pathToSelectedCell = [browser path]; // NSPathControl is bound to pathToSelectedCell
}
7
ответ дан 14 December 2019 в 09:03
поделиться

Я просто зарегистрировался в 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.

0
ответ дан 14 December 2019 в 09:03
поделиться