Я новичок в Какао и ищу небольшой совет по применению от опытных какао-специалистов.
Я создаю базовое приложение в стиле OmniGraffle, в котором объекты рисуются / перетаскиваются на холст. После того, как объекты окажутся на холсте, их можно выбрать для изменения их свойств (цвета заливки, цвета / ширины обводки и т. Д.), Изменить размер, переместить в новое положение и т. Д.
Чтобы разогреться, я написал базовое приложение для рисования, которое создает объекты (круги, прямоугольники и т. Д.), Нарисованные мышью на пользовательском NSView
, добавляет объекты в коллекцию NSArray
и отображает содержимое коллекции в вид. Я мог бы продолжить в том же духе, но мне нужно будет добавить поддержку для обнаружения выбора объекта, разрешения z-индексации, выделения фокуса, маркеров перетаскивания и т. Д. Со всем связанным рендерингом. Кроме того, рендеринг каждого объекта в каждом цикле кажется ужасно расточительным.
Похоже, что лучшим подходом было бы перетащить на холст легкие объекты вида, которые могли бы обнаруживать события мыши на себе, рисовать себя и свои кольца фокуса и так далее. Однако, хотя NSView
кажется объектом с этими свойствами, я вижу много разговоров в сети о том, что это тяжелый компонент с большим багажом. Я наткнулся на NSCell
s и прочитал о них, но я не уверен, являются ли они правильной альтернативой.
Какие-либо предложения? Если вы можете подтолкнуть меня в правильном направлении, я буду очень признателен.
NSCell
. ДажеNSTableView
отошел от него в своей последней итерации.NSCell
- это неинтересно работать. - person Rob Keniger   schedule 27.08.2011