Swift 3.0 Class Note – Type Method, Singleton, DatePicker, Enum, Error Handling

Presenter : Wei Wei

Instance Method(實例方法) vs. Type Method(型別方法)

  • Type Mehod 與 Object-C的Class Method類似
  • 實例方法是被型別的某個實例呼叫的方法
  • 型別方法是定義型別本身呼叫的方法
  • 型別方法的寫法:
    • 屬性前加關鍵字static
    • 函式前加關鍵字class

%e8%9e%a2%e5%b9%95%e5%bf%ab%e7%85%a7-2016-10-07-%e4%b8%8b%e5%8d%8812-41-00

ref: Methods

Singleton(單例模式)

  • 單例模式確保每個指定的類別只存在一個實例對象,並且可以全局訪問那個實例。
  • 單例的寫法
    • 一樣屬性前加關鍵字static & 函式前加關鍵字class
    • init(){}前加private : 只有自己可以初始化自己

%e8%9e%a2%e5%b9%95%e5%bf%ab%e7%85%a7-2016-10-07-%e4%b8%8b%e5%8d%8812-41-35

ref: Singleton

Date

  • Date<–>DateFormatter<–>String
  • 藉由DateFormatter轉換Date和String
  • .date 現在的時間
  • DateFormatter() 生出DateFormatter (.date or .string 轉換Date和String)

  • .datastyle 調整顯示時間格式
  • .dataFormat 調整時間格式
  • %e8%9e%a2%e5%b9%95%e5%bf%ab%e7%85%a7-2016-10-07-%e4%b8%8b%e5%8d%8812-33-05
  • 製作倒數計時器
    • class : Timer
    • 用Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(ViewController.countdown), userInfo: nil, repeats: true)實現,每隔一秒,實作countdown

github : git@github.com:dan12411/HelloDatePicker.git

Enum(列舉相同類型的選項)

  • 初衷:避免拼字錯誤
  • 可加上相關值(Associated Value)

  • 可加上Mehods

  • 可加上Raw Value(記要給型別)

  • 常常搭配 Switch 使用,系統已知列舉,最後不用寫default

%e8%9e%a2%e5%b9%95%e5%bf%ab%e7%85%a7-2016-10-07-%e4%b8%8b%e5%8d%8812-43-54

螢幕快照 2016-10-07 下午1.09.15.png

Error Handling(關鍵詞throws搭配try, do & catch)

  • 用Enum定義錯誤(服從Error protocol)
  • 加上關鍵詞 “throws" 標明錯誤處理的程式碼
  • 加上關鍵詞 “try" 呼叫方法
  • 改寫函式內的程式碼,e.x., 用guard抓出錯誤
    • guard 與 if..else 不同在於,可以把通過條件後的動作,寫在大括弧 {} 外
  • 用do & catch輸出錯誤訊息

%e8%9e%a2%e5%b9%95%e5%bf%ab%e7%85%a7-2016-10-07-%e4%b8%8b%e5%8d%8812-50-26

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s