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

2021-07-03 19:07:37 字數 656 閱讀 4792

當我們不知道變數的值時,可以將改變量設定為可選型別

//表明str是可選型別(string型別或者nil型別)

var str:string?

//表明str是可選型別(是string型別或者nil型別)

var str: string?="hello world"

//str = str?.uppercasestring

//拆包

}else

// 確定str有存在的值(如果str沒有被賦實際意義的值,強制拆包將造成應用程式崩潰)

print(" 拆包:\(str!.uppercasestring)")

//隱性拆包

var str1:string! = "hello world"//已經確定變數str1是有值的(如果未賦值,應用程式將崩潰)

str1 = str1.lowercasestring

print("拆包:\(str1)")

print(str)

var str2:string?="hello world"

let lowerstr2 = str2?.lowercasestring//lowerstr2是可選的,如果有值,則值為「hello world」否則為nil

swift 可選型 拆包

viewcontroller.swift import uikit class viewcontroller uiviewcontroller func companyname companyname string string?return nil oc下面 可以編譯通過,但是執行時會出錯!因為c...

11 可選型別 間接拆包

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

Swift 可選型別

swift 可選型別 optionals 可選型別 強制解析 自動解析 可選繫結 1.可選型別 加入我們建立乙個變數,但是它有可能為空,這時候swift提供乙個符號 來表示這是乙個可能為空的變數 var thisstr string?看到這裡的if,沒錯,if或者for迴圈後面的內容不加 加了也沒錯...