更改UIImageView图片中存储在字符串中的名称

时间:2014-08-04 14:50:31

标签: ios7 uiimageview

您好我的应用程序中有图像视图来更改其中的图片。但他们的名字像imageview1,imageview2等等。我创建一个字符串,如:

 `("imageview%i", number)`

所以我的字符串是imageview1。我需要改变

 self."**mystring**".image = [uiimage ...]

我看了键值编码,但我无法完全理解。我搜索了论坛,我也得不到任何东西。我该怎么做才能解决这个问题。我想我必须在其中使用我的uiimageviews做一个数组。比较他们的名字和我的字符串(我不知道如何获得属性名称作为nsstring)。然后返回该图像视图。请帮忙。

1 个答案:

答案 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*/];
    }
}

如果你想在编译时这样做,你将不得不使用预处理器宏,但我不认为这是你的情况。