I know that I can "subclass" an NSMutableArray using "category extensions," i.e. @interface NSMutableArray (MyExtension)
, to add new functions to the class. However, is there a way using category extensions to also add new properties to the extension?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Note that @interface NSMutableArray (MyStuff)
is a category and not a class extension. They are similar in this context, but actually do have quite a few different details.
You can't add storage to an existing class through either mechanism. You can use Associative References to associate data with an instance, though.
回答2:
As you said, categories can add only methods to a class, not ivars. You could declare property
and setProperty:
methods in the category, but I'm not sure where you'd store the actual data of your pseudo-property.