作業-瘋狂購物 App-世上最棒的海報

Chiafishh
海大 SwiftUI iOS / Flutter App 程式設計
4 min readJan 16, 2019
封面

貼好看的海報是最棒的佈置,使用這個APP可以買非常優質的海報。

(1) App 操作的動畫影片 gif

(2) GitHub 連結

(3) 特製的 App 畫面截圖

(4) 文字說明

裡面有6(+1?)款優質海報可以購買,購買越多越好。

按“+,−”按鈕即可設定購買數量,畫面最下方顯示目前的總金額。

(5) 重點程式碼講解

1.點選每一個Stepper上的 “+,−”時,就會運作function s11,s12…(每個有它分別對應的function),

sender.value就是Stepper現在的值,每個Stepper的值分別紀錄到count11,count12…中,

以下列出兩個function(共7個,皆類似)

@IBAction func s11(_ sender: UIStepper) {count11 = Int(sender.value)m11.text = "\(count11)"claculate()}@IBAction func s12(_ sender: UIStepper) {count12 = Int(sender.value)m12.text = "\(count12)"claculate()}

2.點選Stepper就會運作上面的fuction,上面的fuction會再呼叫fuction claculate,以下為fuction claculate。

程式碼中的註解有說明新台幣價格(如左圖)是怎麼顯示的。

//價錢的顯示let formatter = NumberFormatter()func claculate(){sum = count00 * 100 + count11 * 100 + count12 * 50 + count21 * 45 + count22 * 40 + count31 * 35 + count32 * 30formatter.maximumFractionDigits = 0//小數點後顯示0位,因為都是整數不需要小數點//新台幣格式formatter.locale = Locale(identifier: "zh_TW")formatter.numberStyle = .currencyISOCodelet moneyString = formatter.string(from: NSNumber(value: sum))//把數字轉格式sumNT.text = moneyString}

價格顯示方式的參考文章:

(6) 作業心得

覺得很好玩!很單純的幾個動作就可以有這樣功能的APP,可見Xcode真的很好用!一邊做作業一邊欣賞好看的人類,心情很好。

(7) 遇到的問題和錯誤

原本沒辦法Run成功,顯示錯誤:Thread 1: signal SIGABRT

後來發現是先前拉錯的segue在編輯程式碼的地方刪除後,在TableViewController中的Outlets(左圖)卻依然存在,趕緊把它們按叉叉刪掉後就沒事了!

--

--