有没有办法以某种方式模拟一个类关于它的实例变量而不是方法的类别行为?
我有一个 ClassA
,我想在用其他类 (ClassB
) 的新方法和 ivars 扩展它之后保留它的名字。
当然,我可以继承 ClassA
,但生成的类将具有不同的名称。
对于方法添加,这不是问题 - 类别将是一个很好的解决方案。
更新:ClassA
用作 XIB 的文件所有者,要扩展的这些字段是 IBOutlet
秒。所以我在构建阶段需要它们。
最佳答案
由于 iPhone 使用现代 Objective-C 运行时,您可以使用 associative references无需声明实例变量即可向实例添加数据。请参阅 objc_setAssociatedObject
的文档等
如果将对运行时的调用包装在标准访问器方法中,它将非常易于使用。
关于iphone - 实例变量的类别扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4887004/