概念:
可選型別的取值:
// 錯誤寫法
// 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,表示空。而?和 的區別在於使用前者宣告的變數所包含的值時,需要...