Как добавить свойства в NSMutableArray через расширение категории?
Я знаю, что могу "создать подкласс" NSMutableArray, используя "расширения категорий", т.е. @interface NSMutableArray (MyExtension)
, чтобы добавить новые функции в классе. Тем не менее, есть ли способ использовать расширения категорий, чтобы также добавить новые свойства в расширение?
2 ответа
Обратите внимание, что @interface NSMutableArray (MyStuff)
это категория, а не расширение класса. Они похожи в этом контексте, но на самом деле имеют довольно много разных деталей.
Вы не можете добавить хранилище в существующий класс с помощью любого из этих механизмов. Вы можете использовать ассоциативные ссылки, чтобы связать данные с экземпляром.
Как вы сказали, категории могут добавлять в класс только методы, а не ivars. Вы могли бы объявить property
а также setProperty:
методы в категории, но я не уверен, где вы будете хранить фактические данные вашего псевдо-свойства.