语法help - 作为对象名称的变量

use*_*984 7 iphone xcode objective-c ios

可能重复:
根据int计数创建多个变量
Objective C等效于PHP的"变量变量"

如何使用变量作为名称来创建和引用对象?

示例 -

    for (int i=1; i<7; i++) {
       CGRect ("myRectNum & i") = myImageView.bounds; 
    }

 ("myRectNum & 5").height  etc ..
Run Code Online (Sandbox Code Playgroud)

Ada*_*ble 2

Objective-C 语言中没有类似的东西,而且一般来说,它不会是一种非常实用的引用数据的方式(如果你打错了一个字符串怎么办?编译器将无法捕获它)。我不会事后猜测您实际想要做什么(这取决于应用程序这部分的目标),但您可以使用 anNSMutableDictionary来获得类似的效果:

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
for (int i = 0; i < 7; i++)
{
    NSString *key = [NSString stringWithFormat:@"myRectNum & %d", i];
    NSValue *value = [NSValue valueWithCGRect:myImageView.bounds];
    [dict setObject:value forKey:key];
}
Run Code Online (Sandbox Code Playgroud)

然后再次取回值:

NSValue *value = [dict objectForKey:@"myRectNum & 5"];
CGRect bounds = [value CGRectValue];
NSLog(@"height = %f", bounds.size.height);
Run Code Online (Sandbox Code Playgroud)