У меня есть NSComboBox в NSToolbar, и я хочу, чтобы поле со списком отправляло сообщения на его источник данных и делегировал.
Мой класс принимает протоколы NSComboBoxDelegate
и NSComboBoxDataSource
.Я создаю свое поле со списком следующим образом:
NSRect comboBoxRect = NSMakeRect(0, 0, 175, 20);
NSComboBox *sourceComboBox = [[NSComboBox alloc] initWithFrame:comboBoxRect];
[sourceComboBox setDataSource:self];
[sourceComboBox setDelegate:self];
[sourceComboBox setUsesDataSource:YES];
[sourceComboBox setEditable:NO];
NSToolbarItem *sourceComboBoxItem = [[NSToobarItem alloc] initWithItemIdentifier:@"MyID"];
[sourceComboBoxItem setView:sourceComboBox];
[sourceComboBoxItem setMinSize:NSMakeSize(175*1.2, SEGMENT_HEIGHT)];
[sourceComboBoxItem setMaxSize:NSMakeSize(175*1.2, SEGMENT_HEIGHT)];
[sourceComboBoxItem setDelegate:self];
[sourceComboBoxItem setTag:4];
Я также реализую следующие методы источника данных и делегата, в которых есть точки останова, но этим методам ничего не отправляется.
- (id)comboBox:(NSComboBox *)aComboBox objectValueForItemAtIndex:(NSInteger)index;
- (NSInteger)numberOfItemsInComboBox:(NSComboBox *)aComboBox;
- (void)comboBoxSelectionDidChange:(NSNotification *)notification;
Любые предложения о том, что я могу делать не так?Спасибо.