如何使用swift枚舉定義

本篇內(nèi)容主要講解“如何使用swift枚舉定義”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“如何使用swift枚舉定義”吧!

創(chuàng)新互聯(lián)是一家專業(yè)提供定襄企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、HTML5、小程序制作等業(yè)務(wù)。10年已為定襄眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。

枚舉定義

//枚舉定義
enum CompassPoint {
    case north
    case south
    case east
    case west
}

//常配合switch case使用
let directionToHead = CompassPoint.south
switch directionToHead {
case .north:
    print("Lots of planets have a north")
case .south:
    print("Watch out for penguins")
case .east:
    print("Where the sun rises")
case .west:
    print("Where the skies are blue")
}
/*
 Watch out for penguins
 */

枚舉遍歷

//枚舉遍歷
enum Planet: CaseIterable {
    case mercury, venus, earth, mars, jupiter, saturn, uranus, neptune
}

for planet in Planet.allCases {
    print(planet)
}
/*
 mercury
 venus
 earth
 mars
 jupiter
 saturn
 uranus
 neptune
 */

關(guān)聯(lián)值

//關(guān)聯(lián)值
enum Barcode {
    case upc(Int, Int, Int, Int)
    case qrCode(String)
}

func showBarcode(_ barcode: Barcode) {
    switch barcode {
    case .upc(let numberSystem, let manufacturer, let product, let check):
        print("UPC:\(numberSystem), \(manufacturer), \(product), \(check)")
    case .qrCode(let productCode):
        print("QR Code: \(productCode)")
    }
}

var productBarcode = Barcode.upc(1, 1, 1, 1)
showBarcode(productBarcode)
//UPC:1, 1, 1, 1
productBarcode = Barcode.qrCode("hello")
showBarcode(productBarcode)
//QR Code: hello

原始值

//原始值
enum ASCIIControlCharacter: Character {
    case tab = "\t"
    case lineFeed = "\n"
    case carriageReturn = "\r"
}

從原始值初始化

//從原始值初始化
enum RoleStatus: Int,CaseIterable {
    case run
    case jump
    case walk
    case idle
}

for i in 0...RoleStatus.allCases.count {
    print(RoleStatus(rawValue: i))
}
/*
 Optional(__lldb_expr_8.RoleStatus.run)
 Optional(__lldb_expr_8.RoleStatus.jump)
 Optional(__lldb_expr_8.RoleStatus.walk)
 Optional(__lldb_expr_8.RoleStatus.idle)
 nil
 */

遞歸枚舉(indirect)

//遞歸枚舉 (5+4)*2
indirect enum ArithmeticExpression {
    case number(Int)
    case addition(ArithmeticExpression, ArithmeticExpression)
    case multiplication(ArithmeticExpression, ArithmeticExpression)
}

let five = ArithmeticExpression.number(5)
let four = ArithmeticExpression.number(4)
let sum = ArithmeticExpression.addition(five, four)
let product = ArithmeticExpression.multiplication(sum, ArithmeticExpression.number(2))

func evaluate(_ expression: ArithmeticExpression) -> Int {
    switch expression {
    case let .number(value):
        return value
    case let .addition(left, right):
        return evaluate(left) + evaluate(right)
    case let .multiplication(left, right):
        return evaluate(left) * evaluate(right)
    }
}

print(evaluate(product))
//18

到此,相信大家對“如何使用swift枚舉定義”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

新聞名稱:如何使用swift枚舉定義
分享URL:http://www.muchs.cn/article16/ihpegg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計網(wǎng)站內(nèi)鏈、搜索引擎優(yōu)化網(wǎng)站策劃、標(biāo)簽優(yōu)化、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站