美文网首页
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