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