Swift 可選型別

2021-07-14 10:28:54 字數 901 閱讀 4690

swift 可選型別 - optionals

可選型別

強制解析

自動解析

可選繫結

1.可選型別- ?

加入我們建立乙個變數,但是它有可能為空,這時候swift提供乙個符號『?』來表示這是乙個可能為空的變數:

var thisstr:string? = ""

//看到這裡的if,沒錯,if或者for迴圈後面的內容不加(),加了也沒錯,但是並非所有的if或者for迴圈都可以加,在使用中盡量都不加

if thisstr != nil else

2.強制解析

強制解析可選值,雖然是可選變數,但是我已經知道了這個值一定不會為nil,有值,所以請使用這個值,使用時在後面加『!』

var thisstr:string?

thisstr = "hello,world!"

if thisstr != nil else

3.自動解析

在宣告時用『!』替代『?』,不用提前知道是否為nil

var thisstr:string!

thisstr = "hello,world!"

if thisstr != nil else

4.可選繫結

一開始沒理解什麼意思,後來才知道,原來是宣告的變數是否為nil,若為nil就走else,非nil則賦值給宣告的常量/變數:

var

thisstr:string?

thisstr = "hello, world!"

//此處let變數若需要改變可用var,後面的引數可以是乙個函式

iflet thatstr = thisstr else

Swift 可選型別

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

swift可選隱式可選型別

可選型別 隱式可選型別 在swift中,可選魯迅個其實是乙個,列舉型別,裡面有none和some兩種型別。其實所謂的nil就是optional.none,非nil就是optional.some,然後會通過some t 包裝 wrap 原始值,這也是為什麼可選型別需要拆包的原因,也是playgroun...

Swift筆記 可選型別

c 和 objective c 中並沒有可選型別這個概念。最接近的是 objective c 中的乙個特性,乙個方法要不返回乙個物件要不返回nil,nil表示 缺少乙個合法的物件 然而,這只對物件起作用 對於結構體,基本的 c 型別或者列舉型別不起作用。對於這些型別,objective c 方法一般...