當前位置:成語大全網 - 新華字典 - 最新的swift沒有fromraw方法,那麽如何用x的初始值得到枚舉值?

最新的swift沒有fromraw方法,那麽如何用x的初始值得到枚舉值?

在Swift語言中,具有類特征的類型有三種,分別是枚舉型、結構型(包括基本型,實際上是結構型的特例)和類。其中,枚舉類型和結構類型屬於值類型,類屬於引用類型。這三種類型都可以添加屬性、方法和下標方法,並且可以使用擴展來擴展功能和使用協議。

壹.查點

枚舉定義包含壹組相關值的公共類型。枚舉是Swift中的類類型,有很多傳統類獨有的特征,比如計算屬性、實例方法、通過擴展或協議增強功能等。

1.1枚舉定義

Swift語言中枚舉類型的定義語法如下:

枚舉比較點{

凱斯北

凱斯南

凱斯東

凱斯西

}

枚舉語法由關鍵字enum標識,後跟枚舉類型名稱,所有枚舉定義都放在壹對大括號中。

枚舉中定義的值稱為枚舉成員值,case關鍵字用於指示新的枚舉成員值。

與C和Objective-C語言中的枚舉類型不同,在Swift中不需要為枚舉成員分配默認的整數值。

如果為枚舉成員提供值,該值可以是字符串、字符或任意整數或浮點數。

枚舉成員值可以在壹行中定義,並用逗號分隔。

枚舉星球{

水星、金星、地球、火星、木星、土星、天王星、海王星

}

每個新定義的枚舉屬於壹個新的獨立類型。

1.2枚舉的使用

您可以將枚舉類型的值賦給常數或變量,例如:

var directionToHead = CompassPoint。西

上面定義的變量directionToHead可以推斷為CompassPoint類型的枚舉變量,因此可以將該變量設置為CompassPoint類型的其他值,例如:

DirectionToHead =。East //省略枚舉類型。

枚舉也可以在switch語句中使用,以匹配獨立的枚舉值:

directionToHead =。南方

切換方向頭{

凱斯。北方:

println(“許多行星都有北”)

凱斯。南方:

println(“小心企鵝”)

凱斯。東部:

println(“太陽升起的地方”)

凱斯。西部:

println(“天空蔚藍的地方”)

}

1.3將相關值賦給枚舉成員

Swift可以為每個枚舉成員指定任意類型的相關值,為每個枚舉成員指定的相關值類型可以不同。

枚舉條形碼{

凱斯UPCA(整數,整數,整數)

案例二維碼(字符串)

}

此示例定義了條形碼的枚舉類型,並定義了兩個枚舉值UPCA和QRCode,並且可以將多元組類型的相關值分配給枚舉值UPCA,將字符串類型的相關值分配給QRCode。此示例沒有為枚舉值本身指定任何類型的值。

您可以使用上面定義的枚舉為常數或變量賦值,例如:

var productBarcode =條形碼UPCA(8,85909_51226,3)

在本例中,變量productBarcode被賦予壹個枚舉值Barcode。UPCA,分配給它的相關元組類型的值為(8,85909_51226,3)。

然後,可以將變量productBarcode設置為另壹個具有字符串類型相關值的枚舉值:

productBarcode =。QRCode("ABCDEFGHIJKLMNOP ")

還可以在switch語句中使用此枚舉,並通過綁定常數或變量導出相關類型的值:

切換產品條形碼{

凱斯。UPCA(讓數字系統,讓標識符,讓檢查):

println("UPC-A,值為\(數字系統),\(標識符),\(檢查)。")

凱斯。二維碼(let productCode):

println("值為\(productCode)的二維碼)")

}

如果枚舉成員的所有相關值都派生為常量,或者所有相關值都派生為變量,則上述語法也可以縮寫如下:

切換產品條形碼{

案件受理。UPCA(數字系統,標識符,檢查):

println("UPC-A,值為\(數字系統),\(標識符),\(檢查)。")

案件受理。二維碼(產品代碼):

println("值為\(productCode)的二維碼)")

}

1.4將原始值賦給枚舉。

除了將相關值分配給枚舉成員之外,還可以為每個枚舉成員預先分配相同類型的原始值。這類似於C語言將整數值賦給枚舉成員,但Swift定義的原始值可以是字符串、字符或任何整數或浮點數類型,例如:

枚舉ascii control Character:Character {

案例標簽="\t "

案例換行="\n "

案例承運人返回="\r "

}