在swift中仰坦,可以使用!和?來表示一個對象是optional的還是non-optional,如view?
和view!瘫想。而在Objective-C中則沒有這一區(qū)分醋粟,view即可表示這個對象是
optional靡菇,也可表示是non-optioanl。這樣就會造成一個問題:在Swift與
Objective-C混編時米愿,Swift編譯器并不知道一個Objective-C對象到底是optional還
是non-optional厦凤,因此這種情況下編譯器會隱式地將Objective-C的對象當成是
non-optional。
為了解決這個問題育苟,蘋果在Xcode 6.3引入了一個Objective-C的新特性:
nullability annotations较鼓。這一新特性的核心是兩個新的類型注釋:**__nullable**
和**__nonnull**。從字面上我們可以猜到,**__nullable**表示對象可以是NULL或
nil博烂,而**__nonnull**表示對象不應該為空香椎。
當我們不遵循這一規(guī)則時,編譯器就會給出警告禽篱。
文檔地址
最后編輯于 :
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者