Iphone 语法帮助-变量作为对象名

Iphone 语法帮助-变量作为对象名,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,可能重复: 如何使用变量作为对象的名称来创建和引用对象 范例- for (int i=1; i<7; i++) { CGRect ("myRectNum & i") = myImageView.bounds; } ("myRectNum & 5").height etc .. for(int i=1;i在Objective-C语言中没有类似的东西,一般来说,这不是一种非常实用的引用数据的方式(如果键入字符串怎么办?编译器将无法捕获

可能重复:

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

范例-

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

 ("myRectNum & 5").height  etc ..

for(int i=1;i在Objective-C语言中没有类似的东西,一般来说,这不是一种非常实用的引用数据的方式(如果键入字符串怎么办?编译器将无法捕获它)。我不会对您实际想做的事进行二次猜测(这取决于应用程序这一部分的目标),但您可以使用
NSMutableDictionary
获得类似的效果:

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

谢谢,我将此方法用于简单变量,但是否可以存储路径?myPath=CGPathCreateMutable();是的,您可以在字典中存储CGPathRef。如果您使用ARC,则需要查看_桥等限定符。和的可能重复项等。
NSValue *value = [dict objectForKey:@"myRectNum & 5"];
CGRect bounds = [value CGRectValue];
NSLog(@"height = %f", bounds.size.height);