Ios 我可以使用一些方法来获取变量名吗?
我创建了一个类的实例。我可以用一些方法得到变量名,然后打印出来吗?当我做一些测试项目时,我只想要这个。我想我真正的意思是变量名。不幸的是,不,你不能 对象实例没有名称。类有名称。方法有名称。属性有名称。但对象实例却没有。变量有名称,但它们不是实例所独有的,而且无论如何,您无法通过编程方式访问它 如果只调用Ios 我可以使用一些方法来获取变量名吗?,ios,instance,var,Ios,Instance,Var,我创建了一个类的实例。我可以用一些方法得到变量名,然后打印出来吗?当我做一些测试项目时,我只想要这个。我想我真正的意思是变量名。不幸的是,不,你不能 对象实例没有名称。类有名称。方法有名称。属性有名称。但对象实例却没有。变量有名称,但它们不是实例所独有的,而且无论如何,您无法通过编程方式访问它 如果只调用description方法,通常会得到一些东西来标识实例,但它不是名称 UIView对象有一个数值标记属性,因此对于那些对象,您可以设置该属性并以这种方式标识控件。属性\u getAttribu
description
方法,通常会得到一些东西来标识实例,但它不是名称
UIView
对象有一个数值标记
属性,因此对于那些对象,您可以设置该属性并以这种方式标识控件。属性\u getAttributes是Objective-C运行时的一部分,如下所述
如果您想获得关于ObjC类的某种内省,那么这是一个不错的选择。我不认为这是不稳定的,因为Objective-C运行时本身是相当稳定的。此外,还有一个官方指南(见上面的链接),因此您可以相信它与任何其他苹果官方API一样稳定。您称之为“实例名称”是什么?@newXcoder您想说什么?您可以将这些参数保存在数组中并循环通过它。我不确定iOS中是否有任何实例名称获取。如果您询问这个
const char*className=class\u getName([yourObject class]);NSLog(@“您的对象是:%s”,类名)代码>试试。只需在标题中添加此代码并在任何地方使用即可:#定义NSLogVariable(x)NSLog(@“Variable:%s=%@,#x,x)将其定义为宏。感谢您对“Variables have names”的详细解释-我想说,在代码通过编译器传输之前,变量都有名称-然后抽象就消失了,它们只是成为相对堆栈地址。