【发布时间】:2018-11-22 02:46:42
【问题描述】:
只是要警告你,我是 swift 的新手,我仍然习惯于它的工作原理。我一直在努力为这个 Calculator 项目工作。问题是,我需要练习简化代码。
现在,当按下数字按钮时,我将它保存在这样的数组中。
@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] (operator) [2] (operator) [3] (operator)") 并让它打印一个总和。
我在想这样的事情,但我知道它很乏味而且可能行不通:
for 0...1 in index:
[0] something [1]
1...2 in index:
etc etc
我知道这听起来很疯狂,但我很难告诉计算机我想要什么(按下这些按钮时计算一串数字,保存总数,然后在单击相等时打印总数)并将其放入 clean-剪切代码。
任何建议,即使这意味着更改我的所有代码,我们都非常感谢。
【问题讨论】: