Как различать различные комбинированные списки, делегированные одному comboBoxSelectionDidChange: - PullRequest
3 голосов
/ 23 декабря 2010

Могу ли я делегировать два NSComboBox в один comboBoxSelectionDidChange: метод и выполнить оператор if для различения двух блоков?

1 Ответ

5 голосов
/ 23 декабря 2010

Я полагаю, что это может быть случай, когда вы можете использовать объектный метод NSNotification для получения указателя на поле со списком, которое вызвало уведомление.

Например:

Предположим, у вас есть что-то вроде этого в вашем .h файле:

@interface MDAppController : NSObject {
    IBOutlet NSComboBox   *comboBox1;
    IBOutlet NSComboBox   *comboBox2;
} 

@end

В вашем файле .m:

- (void)comboBoxSelectionDidChange:(NSNotification *)notification {
    NSComboBox *comboBox = (NSComboBox *)[notification object];
    if (comboBox == comboBox1) {
        // do something
    } else if (comboBox == comboBox2) {
        // do something else
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...