iphone - 实例变量的类别扩展

标签 iphone objective-c ios

有没有办法以某种方式模拟一个类关于它的实例变量而不是方法的类别行为?

我有一个 ClassA,我想在用其他类 (ClassB) 的新方法和 ivars 扩展它之后保留它的名字。 当然,我可以继承 ClassA,但生成的类将具有不同的名称。

对于方法添加,这不是问题 - 类别将是一个很好的解决方案。

更新:ClassA 用作 XIB 的文件所有者,要扩展的这些字段是 IBOutlet秒。所以我在构建阶段需要它们。

最佳答案

由于 iPhone 使用现代 Objective-C 运行时,您可以使用 associative references无需声明实例变量即可向实例添加数据。请参阅 objc_setAssociatedObject 的文档等

如果将对运行时的调用包装在标准访问器方法中,它将非常易于使用。

关于iphone - 实例变量的类别扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4887004/

相关文章:

iphone - 在 Objective C (Cocoa) 线程中运行 C 代码(适用于 iOS)

ios - 使用 FiddlerCore 从 IOS 解密 HTTPS 流量时遇到问题

iphone - 针对 iOS 的大图像压缩和调整大小

ios - FanMenu 中的按钮位置确定问题

ios - Objective-C中如何解析JSON响应的数据?

ios - appStoreReceiptURL 错误

ios - Xamarin IOs,传递给 textStyle 参数的 UIFontMetrics.GetMetrics 方法的字符串值是什么?

ios - 如何解决 linker command failed with exit code 1 的错误(使用 -v 查看调用)

iphone - iOS 上的 C# 下拉组合框等效于什么?

objective-c - 无法在Xcode中更改产品名称