О матрицах
NSMatrix класс, используемый для создания групп NSCell объекты (или просто, ячейки или объекты ячейки), которые сотрудничают в различных способах. Это включает методы для расположения ячеек в строках и столбцах, или с или без пространства между ними. Объекты ячейки в NSMatrix пронумерованы строкой и столбцом, каждым начиная с 0; например, верхняя левая ячейка была бы в (0, 0), и ячейка, это является вторым вниз, и треть через была бы в (1, 2).
Ячейка возражает что NSMatrix содержит обычно имеют единственный подкласс NSCell, но они могут иметь многократные подклассы NSCell. Единственное ограничение - то, что все объекты ячейки должны быть тем же размером. NSMatrix объект может быть установлен для создания новых объектов ячейки путем копирования объекта прототипа, или путем выделения и инициализации экземпляров определенного NSCell класс. Ячейки, создаваемые или, добавили к NSMatrix сохраняются матрицей.
NSMatrix объект (или, просто, матрица) добавляет к парадигме целевого действия, реализованной объектами ячейки (в частности, ячейки, наследовавшиеся от NSActionCell) путем поддержания его собственной цели и действия в дополнение к целям и действий его объектов ячейки. Если одна из его ячеек не имеет набор действия или цель, цель и действие матрицы используются. Этот проект допускает образцы общего использования, включая следующее:
Если ни одна из ячеек
NSMatrixобъект имеет или цель или набор действия, цель и действиеNSMatrixобъект всегда используется.Если только действия каждой из ячеек установлены, они совместно используют цель, указанную их
NSMatrixобъект, но отправляют различные сообщения в него.Если только цели каждой из ячеек поставлены, они все отправляют сообщение действия, указанное
NSMatrixобъект, но к различным целям.
Когда пользователь дважды щелкает NSMatrix объект, это может диспетчеризировать отдельное сообщение действия (селектор, для которого установлен через setDoubleAction:); это сообщение действия двойного щелчка в дополнение к сообщению действия единственного щелчка любой ячейки. Действие двойного щелчка NSMatrix объект всегда отправляется в его цель.