Всегда будет два и только два числа, которые нужно добавить?Если это так, NSArray кажется излишним.Учтите, что NSArray является указателем, и каждый объект, который хранится в массиве, будет указателем.Это будет n + 1 указатель или 3 указателя при добавлении 2 чисел.Почему бы не использовать целое число (или число с плавающей запятой, или любой другой подходящий тип) для хранения итога, и другое целое число для хранения текущего состояния поведения кнопки?
Предположим, вы используете класс контроллера для представлениясодержащий ваши три кнопки.Каждая из кнопок имеет соответствующее действие в методе контроллера.Эти две переменные NSUInteger, наряду с BOOL для отслеживания того, будут ли добавлены числа, могут быть объявлены в вашем классе контроллера:
NSUInteger total;
NSUInteger buttonsPressed;
BOOL adding;
Когда никакие кнопки не были нажаты, buttonPressed, очевидно, будет равен нулю.Когда первая кнопка нажата, вы должны сделать что-то вроде этого:
if (buttonsPressed == 0) {
total += [[pressedButton text] intValue];
} else {
if (adding) {
total += [[pressedButton text] intValue];
} else {
total -= [[pressedButton text] intValue];
}
}
buttonsPressed++;
if (buttonsPressed == 2) {
// display answer and reset variables
[answerField setText:@"%d", total];
total = 0;
buttonsPressed = 0;
}