【发布时间】:2010-11-01 17:39:52
【问题描述】:
我知道我可以使用“类别扩展”(即@interface NSMutableArray (MyExtension))“子类化”一个 NSMutableArray,以向该类添加新函数。但是,有没有办法使用类别扩展来为扩展添加新的属性?
【问题讨论】:
标签: objective-c nsmutablearray subclass
我知道我可以使用“类别扩展”(即@interface NSMutableArray (MyExtension))“子类化”一个 NSMutableArray,以向该类添加新函数。但是,有没有办法使用类别扩展来为扩展添加新的属性?
【问题讨论】:
标签: objective-c nsmutablearray subclass
注意@interface NSMutableArray (MyStuff) 是一个类别,而不是一个类扩展。它们在这种情况下是相似的,但实际上确实有很多不同的细节。
您无法通过任一机制将存储添加到现有类。不过,您可以使用 Associative References 将数据与实例相关联。
【讨论】:
正如您所说,类别只能将方法添加到类,而不是 ivars。您可以在类别中声明 property 和 setProperty: 方法,但我不确定您将伪属性的实际数据存储在哪里。
【讨论】: