枚举数据快速

枚举数据快速,第1张

概述我想使用类似 java的枚举,你可以在其中使用自定义数据的枚举实例.例如: enum Country { case Moldova(capital: "Chișinău", flagColors: [Color.Blue, Color.Yellow, Color.Red]); case Botswana(capital: "Gaborone", flagColors: [Color 我想使用类似 java的枚举,你可以在其中使用自定义数据的枚举实例.例如:
enum Country {    case Moldova(cAPItal: "Chișinău",flagcolors: [color.Blue,color.Yellow,color.Red]);    case Botswana(cAPItal: "Gaborone",color.White,color.Black]);}

我后来写道:

Country.Moldova.cAPItal;

似乎我可以指示变量,但不能指示值,我只能在使用枚举时指定值,而不是声明.哪种模仿这种行为最好?

你可以做这样的事情,这可能会有所帮助:(这只是一个非常通用的例子)
enum Country : Int {    case Moldova,Botwana;    //    func cAPItal() -> String {        switch (self) {        case .Moldova:            return "Chișinău"        case .Botwana:            return "Gaborone"        default:            return ""        }    }    //    func flagColours() -> Array<UIcolor> {        switch (self) {        case .Moldova:            return [UIcolor.bluecolor(),UIcolor.yellowcolor(),UIcolor.redcolor()]        case .Botwana:            return [UIcolor.bluecolor(),UIcolor.whitecolor(),UIcolor.blackcolor()]        default:            return []        }    }    //    func all() -> (cAPItal: String,flagColours: Array<UIcolor>) {        return (cAPItal(),flagColours())    }    //    var cAPItolname: String {    get {        return cAPItal()    }    }    //    var flagColoursArray: Array<UIcolor> {    get {        return flagColours()    }    }}

然后你可以访问这样的细节:

let country: Country = Country.Botwana

得到资本

那样:

let cAPItal: String = country.cAPItal()

或其他:

let cAPItal: String = country.all().cAPItal

或第三个:

let cAPItal: String = country.cAPItolname

得到国旗的颜色:

那样:

let flagColours: Array<UIcolor> = country.flagColours()

或其他:

let flagColours: Array<UIcolor> = country.all().flagColours

或第三个:

let flagColours: Array<UIcolor> = country.flagColoursArray
总结

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

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存