1.問號? a.聲明時添加?,告訴編譯器這個是Optional的,若是聲明時沒有手動初始化,就自動初始化爲nil b.在對變量值操做前添加?,判斷若是變量時nil,則不響應後面的方法。 2.歎號! a.聲明時添加!,告訴編譯器這個是Optional的,而且以後對該變量操做的時候,都隱式的在操做前添加! b.在對變量操做前添加!,表示默認爲非nil,直接解包進行處理編譯器