Как добавить свойства в NSMutableArray через расширение категории?

Я знаю, что могу "создать подкласс" NSMutableArray, используя "расширения категорий", т.е. @interface NSMutableArray (MyExtension), чтобы добавить новые функции в классе. Тем не менее, есть ли способ использовать расширения категорий, чтобы также добавить новые свойства в расширение?

2 ответа

Обратите внимание, что @interface NSMutableArray (MyStuff) это категория, а не расширение класса. Они похожи в этом контексте, но на самом деле имеют довольно много разных деталей.

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

Как вы сказали, категории могут добавлять в класс только методы, а не ivars. Вы могли бы объявить property а также setProperty: методы в категории, но я не уверен, где вы будете хранить фактические данные вашего псевдо-свойства.

Другие вопросы по тегам