Swift 100 Days: Project 5 - Tip Calculator

Environment: Swift 4 / Day: 5 / Date: Oct. 21, 2017 / Time: 1.5 hours

我學到什麼:

・MVC Pattern
・Handle calculation in Model
・Keyboard add “done” button
・Get value from slider

Github 原始碼: HERE


小知識:

開發者踏過超級新手之後,下一步即要注重架構的問題,先推薦給大家一篇文章來初步了解 iOS 有哪些架構:iOS 架构模式 — MVC, MVP, MVVM 和 VIPER

淺談MVC:

Model-View-Controller (縮寫 MVC ) 是 Cocoa 框架的一部分,並且毋庸置疑是最常用的設計模式之一。它可以幫你把物件根據職責進行劃分和歸類。

作為劃分依據的三個基本職責是:

  • 模型層 (Model): 存儲數據並且定義如何操作這些數據。
  • 視圖層 (View) : 負責模型層的顯示,並且負責用戶的互動,一般來說都是繼承自 UIView 這個父類別。
  • 控制器 (Controller): 控制器是整個系統的掌控者,它連接了模型層和數據層,並且把數據在視圖層展示出來,監聽各種事件,負責數據的各種操作。

實際面:Controller的部份,明顯的肥大,那是因為他除了要對事件做出相對應的邏輯判斷之外,還要處理到一些應該是View要處理的問題。因此,許多 iOS 開發者會選擇 MVVM,相比於 MVC 架構,MVVM 將階層切分得更乾淨,有興趣請看淺談MVVM架構,這邊就不贅述。


心得:

每個人都會累,沒人能為你承擔所有悲傷,人總有一段時間要學會自己長大。

歡樂星期六,白天狂嗑冰與火之歌,無法自拔,晚上花了一小時通勤回老家(週末都會回家一趟),優先不中斷健身房,固定的運動,堅定的工作,穩定的心情。只是如今,又已深夜,還在啃我的100天 ;(

I feel exactly like this dog… Let me sleep. Just leave me be.

突然發現,好像沒有放鬆的空間。

思考今天是不是不應該放縱,買了白天的自由,換來晚上的落魄。總之,今天有點累,給自己壓力,最終還是完成任務了,至少入眠前,是滿足的釋放。

近期在找工作,原本只打算選個實習也罷,一邊準備出國工作/研究所,但身為工作狂代言人之一,面試後獲得一些 offer 後,有了瘋狂的想法:一份正職+一份實習+原本的實習+Chatbot 專案。

有約莫三日的考慮時間,好好想一想、評估一下,畢竟還是別在還沒立起自己的招牌前就先把招牌砸了!有些近期即會初步完成,有些則是才剛開始,權衡了時間,如果沒有意外,是可以扛下的,加速自己的成長。

說實話,還是有點擔心自己做這樣的決定,因為這種無敵密集的生活,也不是第一次,以往,雖然很累很幹,但總是能咬牙撐過,而那些事情往往是自己非常討厭的雜事工,如:

在學校大四期間,畢業委員會要每個系都推派一個畢委會代表(標準累死雜事工人),理所當然沒人有意願,我只好硬著頭皮去了,接著分組的時候去了團照組,本來應是可以輕鬆的一組,只要前提你不是總召,大家都抱著同樣的心態,所以我還是硬著頭皮當了,接著非常痛苦的度過一年,處理全校幾千人的團照。

例子不勝枚舉,總是有這樣的使命感,只要覺得生命沒被填滿,心情總是空。畢竟,生命如流水,只有在它的急流與奔向前去的時候,才美麗,才有意義。

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.