Resting 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工具,一键发布版本减少人工操作犯错的可能。
我是咕咕鸡,一个还在不停学习的全栈工程师。
热爱生活,喜欢跑步,家庭是我不断向前进步的动力。
网友评论