Ваш подкласс NSViewController
определенно является контроллером в MVC. Он контролирует представление и помещает в него данные из ваших классов моделей.
Вы также правы относительно .backgroundColor
и всех других свойств точечной нотации для встроенных классов Какао. Они определены с @property
и @synthesize
точно так же, как классы, которые вы бы написали. Однако , есть более простые классы (фактически, они являются структурами), используемые в Какао (такие как NSSize
и NSRange
). Когда вы получаете доступ к этим полям с точечной нотацией (например, range.length
, предполагая, что range
является NSRange
), они не используют @property
или @synthesize
, поскольку они вообще не являются классами Objective-C, но простые структуры С.
Я лично использую «атрибут» и «свойство» одновременно в Objective-C, хотя другие разработчики могут не согласиться.