gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 03:18:04 26 4
gpt4 key购买 nike

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

我有其他选择吗?

感谢您的回答,基督徒

最佳答案

类别不能声明额外的实例变量,但从 OS X 10.6 和 iOS 3.1 开始,您可以使用 associative references 解决这个问题.

您可以使用关联引用来模拟将对象实例变量添加到现有类中。使用关联引用,您可以在不修改类声明的情况下向对象添加存储。这是通过 objc_setAssociatedObjectobjc_getAssociatedObject 完成的。如果将这些调用包装在属性的自定义 getter 和 setter 中,就可以伪造一个 ivar。

看看这个post通过 Ole Begemann .

关于Objective-C:类别中的实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6162589/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com