1

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

4

2 回答 2

2

不幸的是,不,你不能。

对象实例没有名称。类有名称。方法有名字。属性有名称。但是对象实例没有。变量有名称,但它们不是实例所独有的,无论如何,您无法以编程方式访问它。

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

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

于 2012-11-27T06:50:53.637 回答
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 一样稳定。

于 2012-11-27T07:23:19.303 回答