2015-11-05 76 views
-9

功能前,我剛要迅速,而當我看到這樣的代碼什麼是「?」要麼 」!」在SWIFT代碼

self?.handleStart() 

john!.apartment 

從我的研究和理解,如果「?」操作(),

var apartment: Apartment? 

它表示值可能是「無」。但是那些在「。」(點)和功能前的操作員呢? , 或者 」!」 (不是運營商?)如上面的第一個例子?

+7

請閱讀Swift文檔 – Arc676

+3

這在swift中被稱爲optionals。閱讀關於它在這裏https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID309 – iPrabu

+0

不幸的是,我找不到糾正重複的問題,否則我會關閉這一個。你在找什麼叫做「可選鏈」。 – Sulthan

回答

2

在排序它的性能的方法

的是,

一個選項和參數? =允許零(如果你在方法的參數傳遞參數比它希望值,因此它的參數類型?比它允許空/無對象)。

! =不允許null/nil(如果你傳入方法參數參數,而不是參數類型!的值比它不允許null/nil對象,你必須傳遞非nil對象)。

就是這樣。