Просто хочу предупредить вас, я новичок в стремительности, и я все еще привыкаю к тому, как это работает.Я пытался работать над этим проектом калькулятора для класса.Проблема в том, что мне нужно попрактиковаться в упрощении кода.
Прямо сейчас, когда нажата цифровая кнопка, она сохраняется в таком массиве, как этот.
@IBAction func buttonPressed(_ sender: UIButton) {
if numBtnPressed == true {
numArray.append(sender.title(for: .normal)!)
}
}
, поэтому, если кнопка помеченаПри нажатии 1 сохраняется ["1"] как строка в пустом массиве numArray
У меня есть отдельная структура для операторов на случай, если она мне понадобится.
struct calcFuncs {
var add : String
var subtract : String
var divide : String
var multiply : String
}
var calc = calcFuncs(add: "+", subtract: "-", divide: "/", multiply: "x")
Япытаясь выяснить, как получить строку чисел и операторов (например, 1 + 2 x 3 + 4/5 + 5) и заставить компилятор сохранить этот расчет, а затем распечатать его при нажатии равенства.Я знаю, что должен найти способ выполнить вычисления, хотя сейчас все в порядке.Я хочу, чтобы он напечатал готовую строку на этикетке.
Я застрял в том, как извлечь элементы из массива и сделать так, чтобы оператор появлялся между ними в зависимости от того, какой оператор был нажат.(«[1] (оператор) [2] (оператор) [3] (оператор)») и пусть он напечатает сумму.
Я думал что-то подобное, но я знаю, что это утомительно и, вероятно, выиграл 't работа:
for 0...1 in index:
[0] something [1]
1...2 in index:
etc etc
Я знаю, это звучит безумно, но я изо всех сил пытаюсь сказать компьютеру, что я хочу (вычислить строку чисел при нажатии этих кнопок, сохранить итоговое значение, а затем напечатать итоговое значение при равенствеи вставим это в чистый код.
Любой совет, даже если это означает изменение всего моего кода, приветствуется.