您好我的应用程序中有图像视图来更改其中的图片。但他们的名字像imageview1,imageview2等等。我创建一个字符串,如:
`("imageview%i", number)`
所以我的字符串是imageview1。我需要改变
self."**mystring**".image = [uiimage ...]
我看了键值编码,但我无法完全理解。我搜索了论坛,我也得不到任何东西。我该怎么做才能解决这个问题。我想我必须在其中使用我的uiimageviews做一个数组。比较他们的名字和我的字符串(我不知道如何获得属性名称作为nsstring)。然后返回该图像视图。请帮忙。
答案 0 :(得分:0)
如果你想在运行时这样做,要么使用选择器破解你的方式,要么在你的UIImageViews上使用标签。它们不是很好的编程概念,但它们有效。例子:
-(void)usingSelectors{
for(int i=0; i < 4; i++){
NSString* propName = [NSString stringWithFormat:@"imageview%d", i];
UIImageView* imageView = [self performSelector:NSSelectorFromString(propName)];
[imageView setImage:/*your image*/];
}
}
-(void)usingTags{
for(int i=0; i < 4; i++){
UIImageView* imageView = [self.view viewWithTag:i];
[imageView setImage:/*your image*/];
}
}
如果你想在编译时这样做,你将不得不使用预处理器宏,但我不认为这是你的情况。