从数组中获取对象名称

时间:2013-02-28 22:39:47

标签: objective-c

有一系列瓷砖

tileArray = [[NSMutableArray alloc]initWithObjects:tile1,tile2,tile3,tile4,tile5,tile6,tile7,tile8,tileBlank, nil];

是否可以以字符串的形式提取数组中的对象?例如,tileArray [2]将返回“tile3”。

编辑:我只需要检查以查看正确位置的数量,而不是尝试以字符串形式返回对象。例如,我想检查一下它们中有多少匹配。在这种情况下,将有7个正确。

tileArray = [[NSMutableArray alloc]initWithObjects:tile1,tile2,tile3,tile4,tile5,tile6,tile7,tile8,tileBlank, nil];

tileArrayCopy = [[NSMutableArray alloc]initWithObjects:tile1,tile2,tile3,tile4,tile5,tile6,tile7,tileBlank,tile8, nil];

2 个答案:

答案 0 :(得分:2)

实例变量名称被编译器损坏并删除。您可以使用NSDictionaryOfVariableBindings()宏轻松地将实例的支持字典用于AutoLayout之类的名称。

如果你想要两个数组的反交叉,你必须首先保证它们包含相同的对象,然后你可以在NSMutableArray上调用-removeObjectsInArray:来获取目标数组唯一的对象。

对于其他所有内容,可以与-unionSet一起使用NSMutableSet来获取每个集合的所有唯一对象的计数。

答案 1 :(得分:1)

没有。对象无法知道引用它的变量的名称。特别是因为许多变量可能指向该对象。

相反,该对象应该有一些额外的代码来返回它自己的名字。比如说,通过添加-(NSString*)name;方法。