--- tags: 新人資訊 GA: G-YWCCFEGXSJ --- [新人資訊](https://hackmd.io/@newman/portal-info) # 技術-iOS #4-計時器的應用 先下載專案骨架-:https://github.com/appbrewery/EggTimer-iOS13 版面上中下三個 View 組成一組 Stack View,中間三個蛋是放在三個水平排列的 Stack View 裏面,也準備好會用到的圖片資源。  然後開始寫程式,這次首次使用 dictionary,就是一群 key-value 的組合,key and value 型態必須固定,用中括號括起來就可以了,在此用來儲存各種不同熟度的蛋所需烹煮的時間秒數。因各種熟度必須標示在按鈕上供使用者知悉,所以設定各 Label Title 是必要動作;按鈕動作觸發時,程式直接抓取觸發按鈕的 Label Title,並以此為 key 到 dictionary 中尋找對應的時間秒數放置於 totleTimer 變數中,完全沒有重複的工,不錯。Timer 設定每一秒執行一次 updateTimer(),此 function 必須加上 @objc 關鍵字以表示開放 object-c 呼叫 ,每次執行倒數計時並更新 progress bar。另有一細節是要考慮使用者正常操作程序有可能在不關閉 App 的情況下重複按很多次不同的按鈕,在加入 Timer 物件前必須用 invaliate() 清除先前的 Timer 物件。倒數計時完成時播放一段音頻。  為了驗證執行效果先將 Soft 改成 5 秒,執行結果正常。 https://youtube.com/shorts/XaeirOkAQlI By Newman Chen 2022/7/6
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up