我可以使用某种方法来获取变量名称吗?

时间:2012-11-27 06:45:10

标签: ios instance var

我创建了一个类的实例。我可以使用某种方法来获取变量名称,然后打印出来吗?当我做一些测试项目时,我只想要这个。我想我的意思是变量名。

2 个答案:

答案 0 :(得分:2)

不幸的是,不,你不能。

对象实例没有名称。类具有名称。方法有名字。属性有名称。但是对象实例却没有。变量具有名称,但它们并非实例唯一,并且无论如何都无法以编程方式访问。

如果你只是调用description方法,你通常会得到一些东西来识别实例,但它不是一个名字。

UIView个对象具有数字tag属性,因此对于那些您可以设置该属性并以此方式识别您的控件。

答案 1 :(得分:0)

property_getAttributes是Objective-C运行时的一部分,如http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008048-CH1-SW1所述。

如果你想对ObjC课程进行某种反省,那就是要走的路。我不认为这是不稳定的,因为Objective-C运行时本身非常稳定。此外还有一个官方指南(见上面的链接),因此您可以相信它与任何其他官方Apple API一样稳定。