Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective-C:类别中的实例变量_Objective C_Object_Asihttprequest_Nsindexpath_Identify - Fatal编程技术网

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

Objective-C:类别中的实例变量,objective-c,object,asihttprequest,nsindexpath,identify,Objective C,Object,Asihttprequest,Nsindexpath,Identify,我只是问是否可以通过一个类别添加一个实例变量。我的特殊问题是,我需要向ASIHTTPRequest对象添加NSIndexPath属性,但原则上我不想将ASIHTTPRequest子类化 我有别的选择吗 谢谢你的回答, Christian类别不能声明额外的实例变量,但由于OS X 10.6和iOS 3.1,您可以使用它来解决这个问题 可以使用关联引用来模拟将对象实例变量添加到现有类中。使用关联引用,可以在不修改类声明的情况下向对象添加存储。这是通过objc\u setAssociatedObjec

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

我有别的选择吗

谢谢你的回答,
Christian

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

可以使用关联引用来模拟将对象实例变量添加到现有类中。使用关联引用,可以在不修改类声明的情况下向对象添加存储。这是通过
objc\u setAssociatedObject
objc\u getAssociatedObject
实现的。如果将这些调用封装在属性的自定义getter和setter中,则可以伪造ivar


请查看。

谢谢,但刚刚找到了一个更简单的解决方案:ASIHTTPRequest中的userInfo字典!但无论如何,谢谢!我很高兴你解决了它!您可能希望自己用解决方案回答问题,并接受它或接受其他答案之一,这样问题就不会一直不被接受。事实上,现在可以在类扩展中添加IVAR。请参阅:这需要在对应类的主@implementation块中合成/实现属性的访问器。是否有
关联引用的正确url