Iphone 通过在泛型名称后面附加可更改的值来标识对象名称。这可能吗?
假设我有5个UIImageView,命名为 图1 图2 图3 图4 和图5 我有5个按钮,它们的标签值设置为覆盖它们的相应图像,所以1-5 如果按下按钮1,我会得到这样的标签值Iphone 通过在泛型名称后面附加可更改的值来标识对象名称。这可能吗?,iphone,objective-c,tags,naming-conventions,sender,Iphone,Objective C,Tags,Naming Conventions,Sender,假设我有5个UIImageView,命名为 图1 图2 图3 图4 和图5 我有5个按钮,它们的标签值设置为覆盖它们的相应图像,所以1-5 如果按下按钮1,我会得到这样的标签值 NSNumber buttonNumber = [sender tag]; 然后我想对相应的图像(image1)执行一些方法。但我想对所有按钮使用相同的方法 因此,我的问题是,在检索到标签后,如何识别相应的图像(名称后面有相同的数字)。到目前为止,我的解决方案有点冗长,就是使用一个开关: UIImageView *
NSNumber buttonNumber = [sender tag];
然后我想对相应的图像(image1)执行一些方法。但我想对所有按钮使用相同的方法
因此,我的问题是,在检索到标签后,如何识别相应的图像(名称后面有相同的数字)。到目前为止,我的解决方案有点冗长,就是使用一个开关:
UIImageView *image;
switch (buttonTag) {
case 1:
image = imageOverButton1;
break;
case 2:
image = imageOverButton2;
break;
default:
break;
// etc
}
但这似乎不是很优雅。如果是一根绳子,我当然可以用
stringWithFormat:@"imageOverButton%i", buttonTag
那么,对于对象是否存在等价的操作
我知道我也可以将按钮的背景图像设置为我想要的图像,并从发送方提取imageData,但出于各种原因,我宁愿采用上述方法。我想我还可以将UIImageView添加到数组中,并使用标记提取相关对象
谢谢D
Michael我想你已经回答了你自己的问题-使用数组保存UIImageView,并使用标记作为该数组的索引
编辑,在我的评论中折叠:你的对象的名称没有具体化-你不能说
nsobjectfoo除非您显式地将名称映射到对象,否则以后可以使用@“foo”
通过一些查找来引用它。请参阅我给出的一个类似问题。Lol,好的,我只是想可能有一种方法可以检索对象名,而不必使用全名,而是将其与另一个字符串/int/object name连接起来……这可能会有所帮助: