问题
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.
来源:https://stackoverflow.com/questions/4071500/how-to-add-properties-to-nsmutablearray-via-category-extension