Мое приложение содержит NSTabView
с двумя вкладками.Кроме того, само приложение имеет playState
, который является перечислением.playState
хранится в синглтоне .
typedef enum {
kMyAppPlayStatePlaying,
kMyAppPlayStatePaused
} MyAppPlayState;
Здесь синтезируется playState
.
@property (readwrite) MyAppPlayState playState;
Я хочу переключить NSTabView
каждый раз playState
меняется.Поэтому я подготовил IBOutlet
для добавления привязки, аналогичной этой.
[self.playPauseTabView bind:@"selectedItemIdentifier" toObject:[MyAppState sharedState] withKeyPath:@"playState" options:nil];
Я уже понял, что identifier
должно быть NSString
.Это не совпадает с моим enum, который является int
.Возможно, я мог бы использовать NSValueTransformer
, чтобы исправить это.
Кроме того, selectedItemIdentifier
не существует.NSTabView
предлагает только selectedTabViewItem
, что позволяет получить доступ к identifier
или label
.Однако я не могу найти способ переключить сам элемент на основе идентификатора.