APP解鎖畫面

performSegue, button(Tag), removeLast(), switch, alert

--

成品:大家都弄很可愛走點不同路線 ! 五条很帥但也幫推宿儺~

▲已學(體會)到 switch 美好,便直接捨棄 if else :P
▲以為小作業結果想很久還是不知怎做,無可奈何參考了學長.同學的…

前置作業

▲構思主題配置 Storyboard
▲加 View Controller,為仿真做首頁圖實際無作用(純粹ImageView)
▲每個數字按鈕的 Tag 填入和按鈕一樣數值(0~9) (圖一)
▲拉 Segue (圖二) ,設全螢幕 (圖三),替 Segue 取名 (圖四)

圖一:數字按鈕 Tag 寫入 0~9
圖二:按右鍵拉Segue選擇Show,拉完會出現箭頭與頁面往下
圖三:將 presentation 從 Automatic 改為 Full Screen 顯示全螢幕
圖四:點選左邊 Segue 再將名稱寫入 Identifier

拉 IBOutlet

設置變數 / 常數 :輸入密碼與正確密碼為字串

拉 IBAction: 0~9 按鈕全拉至 enter Action,系統不接受名稱取作delete

輸入密碼

▲每按一次數字按鈕 count +1,各顯示圖並填入密碼(意指第幾個密碼)
▲按哪一個數字會經 sender.tag 傳入 (先前 Tag 填的數字)
▲如輸入與密碼不符出現警告訊息且更換主圖及文字描述
▲按下警告訊息 okAction 後連動,換圖與文字外其餘恢復初始值
▲密碼相符時用以下程式切換頁面,無按鈕等可觸及狀況時很好用
self.performSegue(withIdentifier: “homepageSegue”, sender:self)
func performSegue(withIdentifier identifier: String, sender: Any?)

刪除 / 更改密碼

▲每按一次 count -1 ,消失一個圖,刪除一個密碼(字串)
removeLast()可移除或回復物件的最後元素,String 可用但 Int 無法
@discardableResult mutating func removeLast() -> Self.Element
▲case 1 不直接寫 default 因怕按超過 4 次會出錯

完整程式碼

--

--