0

有一系列瓷砖

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];
4

2 回答 2

2

实例变量名称被编译器修改和删除。您可以使用实例的支持字典来命名,例如 AutoLayout 使用NSDictionaryOfVariableBindings()宏很容易做到。

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

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

于 2013-02-28T22:41:28.340 回答
1

不,一个对象不能知道引用它的变量的名称。特别是因为许多变量可能指向该对象。

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

于 2013-02-28T22:42:51.860 回答