swift 可選型 拆包

2021-08-14 12:59:11 字數 1000 閱讀 7964

//

// viewcontroller.swift

//import uikit

class viewcontroller: uiviewcontroller

}func companyname(companyname:string) -> string?

return nil

}}/*

oc下面**,可以編譯通過,但是執行時會出錯!因為company是空的。

- (void)viewdidload

- (nsstring*)returncompanyname:(nsstring*)companyname

else

return

} return nil;

} 1. swift中的可選型物件

2. swift語言設計的時候有很多安全方面的考慮,可選型表示了swift是一門型別安全的語言,從上面的例子中你可以看到swift中的可選型會在編譯時就去檢查某些可能發生在執行時的錯誤。

3.上面舉例說明,swift比oc安全

4.❤️string? 可選型型別,而不是string型別

語法糖:表示可能為string型別,可能為nil

let hasvalue = company?.hashvalue

hasvalue就是company拆包後的值(nil或者bool)

5.❗️❤️var name:string! : 類中的屬性

在swift中類在初始化的時候它的屬性必須都被初始化。

如果你不想設定某個屬性的預設值的話,使用?把它加入可選鏈中

6.❗️拆包

(1)強制拆包,確信可選型有值的情況下

let newcompany = "i am working at " + company!

(2)if - let結構的可選繫結來判斷乙個變數是不是空值,進行拆包。

iflet tempstring = company

*/

swift 可選型別,強制拆包,隱性拆包

當我們不知道變數的值時,可以將改變量設定為可選型別 表明str是可選型別 string型別或者nil型別 var str string?表明str是可選型別 是string型別或者nil型別 var str string?hello world str str?uppercasestring 拆包 ...

swift 隱式可選型例項詳解

1 隱式可選型的基本使用 var errormessage string?nil errormessahrgfllige not found the message is errormessage 隱式可選型的定義 var errormessage string nil errormessage n...

11 可選型別 間接拆包

optional表示乙個常量或者變數沒有值的這種情況,我們用if語句來判斷,用binding語句來訪問它的值,有時候,乙個程式中,乙個optional一定是有值的,這時候我們就不需要用if語句來check它,我們幾乎可以假定這個是一定有值的,這種型別叫做間接拆包,如 let 彩票 string 5 ...