скажем, у меня есть 5 UIImageViews, названных
image1
image2
image3
image4
и изображение5.
И у меня есть 5 кнопок, значения тегов которых установлены на соответствующие изображения, которые их накладывают, поэтому 1 - 5.
Если кнопка 1 нажата, я получаю значение тега примерно так
NSNumber buttonNumber = [sender tag];
Затем я хочу выполнить некоторые методы для соответствующего изображения (изображение1). Но я хочу использовать один и тот же метод для всех кнопок.
Таким образом, мой вопрос, получив тег, как я могу идентифицировать соответствующее изображение (с тем же номером после его имени). Решение, которое у меня есть до сих пор, которое немного затянуто, заключается в использовании переключателя:
UIImageView *image;
switch (buttonTag) {
case 1:
image = imageOverButton1;
break;
case 2:
image = imageOverButton2;
break;
default:
break;
// etc
}
Но, похоже, это не очень элегантно. Если бы это была строка, я бы, конечно, мог бы использовать
stringWithFormat:@"imageOverButton%i", buttonTag
Так есть ли эквивалентная операция для объектов?
Я знаю, что мог бы также установить фоновое изображение кнопки для нужного изображения и извлечь imageData из отправителя, но я бы предпочел сделать это вышеописанным способом по разным причинам. Я полагаю, я мог бы также добавить UIImageViews в массив и извлечь соответствующий объект с помощью тега.
Спасибо! : D
Майкл