你可以這麼認為:optional型別變數的真實值是被封裝起來的,包裝在其列舉值some中;1、optional中有兩個值,可能為none,也可能為其它值;
2、
?
代表當你不確定型別值是否為空,因此值為none時返回nil;不為none時返回optional中的值;3、
!
代表你確定型別中一定會有值,因此值為none的時,執行會報錯;不為none時返回optional的值;
enum optional: logicvalue, reflectable
在宣告乙個optional型別變數時如果沒有賦初始值,那麼預設為nil;
//未被初始化,但是是乙個optional型別,為nil
var str: string?
str //輸出nil
//未被初始化,也不是optional型別
var str2: string
str2 //使用時出錯
swift中UIActionSheet的使用
方法1 方法2 例項化時新增 物件,同時注意新增協議 let alertsheet uiactionsheet title alerttitle,delegate self,cancelbuttontitle alertok,destructivebuttontitle alertcancel,ot...
Swift中的協議
equatable協議用於相等的比較,遵守這個協議後必須對 運算子進行過載。struct record equatable func left record,right record bool let recorda record wins 10,losses 5 let recordb recor...
swift中UIActionSheet的使用
objc view plain copy 方法1 方法2 例項化時新增 物件,同時注意新增協議 let alertsheet uiactionsheet title alerttitle,delegate self cancelbuttontitle alertok,destructivebutto...