Как работает категория? - PullRequest
5 голосов
/ 14 мая 2009

Я новичок в Objective-C и мне нужно расширить стандартный класс фреймворка с переменной экземпляра плюс методы доступа. Я слышал, что это делается с помощью так называемой «категории», что звучит довольно странно для меня. Как это в основном работает?

Ответы [ 2 ]

10 голосов
/ 14 мая 2009

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

Если вам нужно добавить переменные экземпляра в класс, категория не будет работать - категории только добавляют методы, а не данные. Чтобы добавить переменные экземпляра, вы должны создать подкласс.

7 голосов
/ 14 мая 2009

Категория класса добавляет методы к этому классу. Он не может добавить переменные экземпляра.

Если вам нужно добавить переменные экземпляра, вы можете вместо этого создать подкласс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...