是否可以使用字符串和int引用变量,如下所示:
int number1;
int j = 1;
@"number%i", j = 3; //Hope this makes sense..
上面的代码给了我警告并且不起作用,怎么可能这样做。
我也试过这个,但它不起作用(原因很明显):
int j = 1;
NSString *refString = [NSString stringWithFormat:@"number%i", j];
refString = 3;
我真的很挣扎,我知道如何在Javascript中完成,但在Obj-C中没有,是否可能?
答案 0 :(得分:3)
这是anti-pattern我称之为穷人阵。更好的方法是使用类似数组的正确集合,而不是秘密相关的一堆变量。如果做得好,带阵列的代码通常会更短更清晰。
答案 1 :(得分:1)
据我所知,你试图根据j
的值设置/检索不同的变量。
您可以为此目的使用字典:
NSMutableDictionary *numbers = [NSMutableDictionary dictionary];
int j = 1;
[numbers setObject:[NSNumber numberWithInt:3] forKey:[NSNumber numberWithInt:j]];
然后检索:
[[numbers objectForKey:[NSNumber numberWithInt:j]] intValue];
它有点冗长,但您可以通过创建一个小类来简化它。