使用代表变量名的字符串设置变量
|
我知道这是一个可以简化的基本示例,但是为了测试起见,我想以此方式进行操作。我想根据附加字符串设置一个变量(该类中已经声明了变量\“ cam0 \”和\“ pos1 \”)。附加字符串本质上是一个索引,我将遍历循环以将摄像机(cam0,cam1 ..)分配到不同位置(pos0,pos1 ..)。
cam0被定义为UIImageView
pos1被定义为CGRect
这适用于名为CoverIndex的NSString变量:
NSString* text = [[NSString alloc] initWithString:@\"\"];
NSLog(@\"%@\",(NSString *)[self performSelector:NSSelectorFromString([text stringByAppendingString:@\"coverIndex\"])]);
我为coverIndex设置的正确字符串已记录到控制台。
现在回到我的UIImageView和CGRect。我要这个工作。
NSString* camText = [[NSString alloc] initWithString:@\"cam\"];
NSString* posText = [[NSString alloc] initWithString:@\"pos\"];
[(UIImageView *)[self performSelector:NSSelectorFromString([camText stringByAppendingString:@\"0\"])] setFrame:(CGRect)[self performSelector:NSSelectorFromString([posText stringByAppendingString:@\"1\"])]];
我的错误是“请求转换为非标量类型”
这是我发现做这种事情(并使NSLog正常工作)的唯一方法,但我仍然相信有一种更简单的方法。
非常感谢您的帮助:)
没有找到相关结果
已邀请:
2 个回复
肉簧咸缮
肺鬼耙扮群