Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 通过在泛型名称后面附加可更改的值来标识对象名称。这可能吗?_Iphone_Objective C_Tags_Naming Conventions_Sender - Fatal编程技术网

Iphone 通过在泛型名称后面附加可更改的值来标识对象名称。这可能吗?

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 *

假设我有5个UIImageView,命名为 图1 图2 图3 图4 和图5

我有5个按钮,它们的标签值设置为覆盖它们的相应图像,所以1-5

如果按下按钮1,我会得到这样的标签值

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连接起来……这可能会有所帮助: