Swift語法10 可選型別

2021-07-22 17:27:59 字數 1376 閱讀 7653

概念:

可選型別的取值:

// 錯誤寫法

// let string : string = nil

// 正確寫法:

// 注意:name的型別是乙個可選型別,但是該可選型別中可以存放字串.

// 寫法一:定義可選型別

let name : optional = nil

// 寫法二:定義可選型別,語法糖(常用)

let name : string? = nil

// 演練一:給可選型別賦值

// 定義可選型別

varstring : optional= nil

// 給可選型別賦值

// 錯誤寫法:因此該可選型別中只能存放字串

string =123

// 正確寫法:

string = "hello world"

// 列印結果

print(string)

// 結果:optional("hello world")\n

// 因為列印出來的是可選型別,所有會帶optional

// 演練二:取出可選型別的值

// 取出可選型別的真實值(解包)

print(string!)

// 結果:hello world\n

// 注意:如果可選型別為nil,強制取出其中的值(解包),會出錯

string = nil

print(string!) // 報錯

// 正確寫法:

ifstring != nil

// 簡單寫法:為了讓在if語句中可以方便使用string

// 可選繫結

if let str = string

// 通過該方法建立的url,可能有值,也可能沒有值.

// 錯誤寫法:如果返回值是nil時,就不能接收了

// 如果字串中有中文,則返回值為nil,因此該方法的返回值就是乙個可選型別,而使用乙個nsurl型別接收是錯誤的

let url : nsurl = nsurl(string: "www.lovit.com")

// 正確寫法:使用可選型別來接收

let url : nsurl? = nsurl(string: "www.lovit.com")

// 該方式利用型別推導

let url = nsurl(string: "www.lovit.com")

// 通過url來建立request物件:在使用可選型別前要先進行判斷是否有值

// 該語法成為可選繫結(如果url有值就解包賦值給tempurl,並且執行{})

iflet tempurl = url

swift 可選型別語法

import uikit swift中有規定 物件中的任何屬性在建立物件時,都必須有明確的初始化值 有時候我們想把建立的物件賦值為nil,但是swift是強型別語言,nil也是一種型別,所以不能把建立的物件初始化為nil,但是有時候我們給新建的物件賦值nil又在所難免,這時候就出現了 可選型別 可選...

Swift 可選型別

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

Swift 可選型別

在 swift 中,可選型別用來處理值可能缺失的情況,表示下面兩種情況 在 swift 中宣告變數時,使用?或 來表示宣告的變數是可選型別。let name string?var age int 此時,變數name和age預設都是nil,表示空。而?和 的區別在於使用前者宣告的變數所包含的值時,需要...