我创建了一个类的实例。我可以使用某种方法来获取变量名称,然后打印出来吗?当我做一些测试项目时,我只想要这个。我想我的意思是变量名。
答案 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一样稳定。