Текст Домашнего задания на английском языке доступен на iTunes в пункте “Developing iOS 8 app: Programming: Project 2″. Текст Домашнего задания на русском языке доступен на Результаты выполнения задания можно обсуждать на форуме Swift[ru] . Ваше решение может быть лучше и интереснее. Выкладывайте его в Github, давайте ссылку на Dropbox или используйте другие системы управления версиями. Xcode работает напрямую с Github.
Пункт 9 обязательный
Добавьте две новых кнопки на цифровую клавиатуру вашего калькулятора Calculator:→M и M. Эти две кнопки устанавливают и получают соответственно переменную в CalculatorBrain, называемую M.
- →M устанавливает значение переменной M в CalculatorBrain в текущее значение на дисплее.
- →M не должна автоматичски выполнять↵ (хотя она должна переустановить “пользователь в середине печати числа”)
- Касание M должно помещать (push) переменную M в стэк (не значение M) в CalculatorBrain
- Касание любой другой кнопки должно показывать оценку CalculatorBrain (то есть результат evaluate()) на дисплее.
- →M и M являются механизмом Controller, а не механизмом Model (хотя они оба используют механизм “переменных” Model).
- Это не выдающаяся кнопка “memory” на нашем калькуляторе, но она является хорошим инструментом для тестирования правильно ли работает наша переменная функция, реализованная выше.
Примеры …
7 M + √ ⇒ description имеет вид √(7+M), display — пустой, та как M не установлена
9 →M ⇒ display показывает 4 (квадратный корень 16), description все еще показывает √(7+M)
14 + ⇒ display показывает 18, description теперь √(7+M)+14
Делаем словарь variableValues с переменными private, а в API калькулятора добавляем non-private методы setVariable, getVariable и clearVariable




