美文网首页
Swift枚举活学活用(2)

Swift枚举活学活用(2)

作者: 咕咕鷄 | 来源:发表于2016-11-17 16:24 被阅读0次

    原创文章转载请注明出处

    Resting Giant by Basil Greber on 500px.comResting Giant by Basil Greber on 500px.com

    通常的项目我们都会配置运行环境,在我的项目中我习惯于配置Dev、Qa和Release三个环境,分别对应开发、测试和量产,根据实际情况可能会增加一个Demo环境。

    enum和运行环境配置

    //开发环境
    enum ServerEnvMode: Int {
        case Dev
        case Qa
        case Release
    }
    var serverEnvMode: ServerEnvMode = .Dev
    

    来看看具体的使用场景吧

    配置服务器基地址

    enum ServerEnvMode: Int {
        case Dev
        case Qa
        case Release
        
        func getBaseUrl() -> String {
            switch self {
            case .Dev:
                return "dev url"
            case .Qa:
                return "qa url"
            case .Release:
                return "release url"
            }
        }
    }
    
    //我们可以这么访问
    serverEnvMode.getBaseUrl()
    

    同样的,如果服务端的图片服务器也是随运行环境的不同进行配置,可以在枚举中继续添加方法。

    图片请求地址

    func getImageUrl(url: String) -> String {
        switch self {
        case .Dev:
            return "dev image server url" + url
        case .Qa:
            return "qa image server url" + url
        case .Release:
            return "release image server url" + url
        }
    }
    

    通过枚举配置运行环境,我们将以往散落的全局变量和方法统一到了一起,凡是和运行环境配置有关的设置都可以通过枚举方法来实现。

    小贴士:编译前根据不同的运行环境,通过脚本替换serverEnvMode的值,配合Jenkins这样的CI工具,一键发布版本减少人工操作犯错的可能。

    我是咕咕鸡,一个还在不停学习的全栈工程师。
    热爱生活,喜欢跑步,家庭是我不断向前进步的动力。

    相关文章

      网友评论

          本文标题:Swift枚举活学活用(2)

          本文链接:https://www.haomeiwen.com/subject/zmgdpttx.html