Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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
Ios 我可以使用一些方法来获取变量名吗?_Ios_Instance_Var - Fatal编程技术网

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”的详细解释-我想说,在代码通过编译器传输之前,变量都有名称-然后抽象就消失了,它们只是成为相对堆栈地址。