Я пытаюсь использовать оператор switch, чтобы прочитать, какая кнопка была нажата в UIActionSheet (программирование для iPhone).
В моем FirstViewController.m есть следующее:
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
int countarray=[areaselectArray count];
switch (buttonIndex) {
case countarray: //cancel button has been pressed
//do stuff
break;
default:
area = [areaselectArray objectAtIndex:(buttonIndex)];
[[NSUserDefaults standardUserDefaults] setObject:area forKey:@"mulValue"];
[areaselectArray release];
NSLog(@"Released areaselectArray");
break;
}
}
Кнопки для UIActionSheet построены из массива, который я построил ранее (и еще не выпустил). Я помещаю кнопку «Отмена» в конец списка, используя
int countarray=[areaselectArray count];
[areaselect.cancelButtonIndex = countarray;]
ранее при распределении моего UIActionSheet. Поскольку количество кнопок изменяется в зависимости от количества записей в массиве, я бы хотел, чтобы кнопка «Отмена» просто отклоняла UIActionSheet, но во всех других случаях оператор Switch записывает значение нажатой кнопки в «mulValue». "в стандарте UserDefaults.
Есть ли способ сделать это? Моя главная проблема сейчас, конечно, заключается в том, что функция switch не будет принимать переменную (например, countarray в моем примере). Есть ли способ записать значение в константу (?) Перед вводом оператора switch?
Заранее спасибо!