繁体   English   中英

Objective-C:类别中的实例变量

[英]Objective-C: Instance Variable in Category

我只是问是否可以通过类别添加实例变量。 我的特殊问题是,我需要将 NSIndexPath 属性添加到 ASIHTTPRequest object 但原则上我不想继承 ASIHTTPRequest。

我有其他选择吗?

谢谢你的回答,克里斯蒂安

类别不能声明额外的实例变量,但由于 OS X 10.6 和 iOS 3.1 您可以使用关联引用来解决这个问题。

您可以使用关联引用来模拟将 object 实例变量添加到现有 class 的过程。 使用关联引用,您可以将存储添加到 object 而无需修改 class 声明。 这是通过objc_setAssociatedObjectobjc_getAssociatedObject完成的。 如果将这些调用包装在属性的自定义 getter 和 setter 中,则可以伪造 ivar。

看看Ole Begemann的这篇文章

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM