swift4 計算機
Published in
2 min readApr 8, 2018
計算機算是基礎的學習對象,寫法很多元,可以寫得很高手,也可以用一堆 if else 來達成,看了stanford swift 2107的教學( https://www.youtube.com/watch?v=ilQ-tq772VI&list=PLPA-ayBrweUz32NSgNZdl0_QISw-f12Ai&index=1 ),對於流程到相對應語法的改變很有感觸,總之、黑貓白貓只要能抓到老鼠就是好貓,先寫出一版可用的計算機app吧。
在計算機顯示結果是用label(String),但是運算卻要轉成Double,因此設定一個computed property 的變數:displayValue,這樣可以大大節省在計算及顯示時的型別變換。
程式主要有兩個action,數字鍵(0–9&包含小數點),以及加減乘除等其他的操作鍵,不需要一個一個按鍵拉action,可以全部用一個func來處理:將按鍵的title直接送進來處理即可(sender.currentTitle)。
加減乘除或是開根號√等,會比較複雜,用到switch case 來處理。為了計算方便,建立一個struct來存放要被運算的數字及運算元。
如同一般計算機,直接按下加減乘除就會帶出目前運算,而不必一定要按下等於“=”才既算,主要辨識在於變數bindValue。
最後用上stack view 及constraints 來製作響應式的介面。