Swift教程之枚举语法

Swift教程之枚举语法,第1张

概述import Foundation//MARK:-------枚举语法-----------//不像 C 和 Objective-C 一样,Swift 的枚举成员在被创建时不会被赋予一个默认的整数值enum CompassPoint{ case North case South case East case West}enum Planet{
import Foundation//MARK:-------枚举语法-----------//不像 C 和 Objective-C 一样,Swift 的枚举成员在被创建时不会被赋予一个默认的整数值enum Compasspoint{    case north    case South    case East    case West}enum Planet{    case Mercury,Venus,Earth,Mars,Jupiter,Saturn,Uranus,Nepturn}var directionTohead = Compasspoint.WestdirectionTohead = .Eastswitch directionTohead{    case .north:        print("北方")    case .south:        print("南方")    case .East:        print("东方")    case .West:        print("西方")    default:        print("未知方向")}//MARK:-------实例值(Associated Values)-----------//你可以定义 Swift 的枚举存储任何类型的实例值,如果需要的话,每个成员的数据类型可以是各不相同的enum barcode{    case UPCA(Int,Int,Int)    case QRCode(String)}var productbarcode = barcode.UPCA(8,85909_51226,3)productbarcode = .QRCode("ABCDEFGHIJKLMnop")switch productbarcode{    case let .UPCA(numberSystem,IDentifIEr,check):        print("UPC-A with value of \(numberSystem),\(IDentifIEr),\(check).")    case let .QRCode(productCode):        print("QR code with value of \(productCode).")}// 输出 "QR code with value of ABCDEFGHIJKLMnop.//MARK:-------原始值(Raw Values)-----------//原始值可以是字符串,字符,或者任何整型值或浮点型值。每个原始值在它的枚举声明中必须是唯一的。当整型值被用于原始值,如果其他枚举成员没有值时,它们会自动递增。enum PlanetRaw: Int{    case Mercury = 1,Neptune}//使用枚举成员的toRaw方法可以访问该枚举成员的原始值:let earthsOrder = PlanetRaw.Earth.rawValueprint(earthsOrder)// earthsOrder is 3//MARK:-----------GCD演示----------var array = ["jack","rose","jay","grace"];//声明一个全局并发队列,类型是 dispatch_queue_t;disPATCH_QUEUE_PRIORITY_DEFAulT为队列优先级,默认为0var queue: dispatch_queue_t =  dispatch_get_global_queue(disPATCH_QUEUE_PRIORITY_DEFAulT,0)//开启一个线程dispatch_async(queue,{ () -> VoID in        print(NSThread.currentThread().isMainThread ? "这是主线程" : "这是后台线程")    //第一个参数为次数;第三个参数 block块里面的形参是区分第几次。    dispatch_apply(array.count,queue,{ (index:Int) -> VoID in            print(String(index) + " --- " + array[Int(index)])    })    //回调主线程,执行UI更新    dispatch_async(dispatch_get_main_queue(),{ () -> VoID in                print(NSThread.currentThread().isMainThread ? "这是主线程" : "这是后台线程")    })})
总结

以上是内存溢出为你收集整理的Swift教程之枚举语法全部内容,希望文章能够帮你解决Swift教程之枚举语法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1086614.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存