Запросы матриц кнопки

Группа переключателей или флажков программно NSMatrix возразите, чьи составляющие объекты NSButtonCell объекты. Матричные объекты являются специальным видом управления. Каждая из его ячеек может иметь свой собственный целевой объект и указанный селектор действия. Кроме того, NSMatrix может иметь его собственную цель и селектор действия. (Для больше на целевом действии в связи с матричными объектами, см. Матричное Руководство по программированию.)

Для обнаружения, какой переключатель или флажок выбранный пользователь — в данный момент он или она щелкает по нему — Вы могли указать цель и различный селектор действия для каждой ячейки в матрице, и затем реализовать соответствующий метод действия. Однако более эффективный способ запросить текущий выбор в матрицах переключателей или флажков состоит в том, чтобы реализовать целевое действие для NSMatrix сам объект, и в методе действия определяет, какая ячейка (или ячейки) теперь выбраны. NSMatrix методы для этого selectedCell и selectedCells.

Перечисление 1 показывает реализацию метода действия, реагирующего на выбор в матрице переключателей.

Перечисление 1  , Запрашивающее матричный объект для выбранной ячейки переключателя

- (IBAction)findSelectedButton:(id)sender { // sender is NSMatrix object
    NSButtonCell *selCell = [sender selectedCell];
    NSLog(@"Selected cell is %d", [selCell tag]);
}

Этот фрагмент кода иллюстрирует другой метод, который можно применить при обработке выбора ячеек в матрицах. Можно присвоить числовые теги каждой ячейке в матрице, чтобы идентифицировать его, и затем запросить для тех значений тега при обработке выборов.