是否有可能引用一个string和一个int的variables?
是否可以用一个string和一个int引用一个variables,如下所示:
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中,这有可能吗?
这是一个我称之为穷人阵的反模式 。 更好的方法是使用像数组这样的合适的集合,而不是一堆秘密相关的variables。 做得对,数组的代码通常会更短,更清洁。
从我可以推断你试图设置/检索基于j
值的不同variables。
你可以使用字典来达到这个目的:
NSMutableDictionary *numbers = [NSMutableDictionary dictionary]; int j = 1; [numbers setObject:[NSNumber numberWithInt:3] forKey:[NSNumber numberWithInt:j]];
然后检索:
[[numbers objectForKey:[NSNumber numberWithInt:j]] intValue];
这有点冗长,但可以通过创build一个小类来简化它。