[ Swift ] optional

Imgur

Download the source code from GitHub

[optional.playground]


optional

宣告

任何型態後方緊接著加上 ?,即代表此變數為 optional

Imgur

特性
  • 程式會自動將此 optional 變數初始化為 nil
    • var name:String? 等同於 var name:String? = nil
    • var age:Int? 等同於 var age:Int? = nil

Imgur

  • 只有 optional 變數可以設定為 nil Imgur

  • 宣告為 optional 的變數要經過解包才能進行運算

    • 在 optional 的變數後加上 ! 來進行強制解包的動作

    Imgur

    • 當 optional 變數尚未指定數值之前,則進行強制解包的動作會造成 crash

    Imgur

    • optional binding

      判斷 optional 變數如果不為 nil 才進行取值的動作

    Imgur

    Imgur

  • 當 optional 的變數為 nil 時,則使用預設值

    當 optional 的變數為 nil 時,則使用預設值;否使就使用 optional 變數的值

    Imgur

    Imgur

Archer

Having being a full stack engineer. Experience with C, Python, Objective-C, Swift, Node.js, Lua, Linkit Smart 7688, Raspberry Pi, ARM mbed, Arduino, IoT solutions. Contact us : [email protected]

ALL RIGHTS RESERVED. COPYRIGHT © 2016. Designed and Coded by Makee.io