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);