我想根据当前的建筑配置(开发,生产)使用全局变量来定义我的应用程序的API基本路径。 这些是目前的方法:
1)
struct ApiSettings {
static let API_DEV_BASEPATH = "http://dev.myapp.com"
static let API_PRODUCTION_BASEPATH = "http://prod.myapp.com"
// Return the basepath for the current app runtime mode
static var API_BASEPATH:String {
var bPath: String!
#if DEBUG
bPath = API_DEV_BASEPATH
#else
bPath = API_PRODUCTION_BASEPATH
#endif
return bPath
}
}
2) (这里我也定义了一个临时环境)
#if DEBUG
let API_BASEPATH = "http://dev.app.com"
#elseif STAGING
let API_BASEPATH = "http://staging.app.com"
#elseif RELEASE
let API_BASEPATH = "http://production.app.com"
#endif
但是当我尝试在我的应用程序中使用API_BASEPATH时,编译器会抱怨"未解析的标识符"
我不确定采用哪种最优雅的解决方案。 PS。我使用的是Swift3
答案 0 :(得分:1)
请试试这个。
static var API_BASEPATH:String {
get {
var bPath: String!
#if DEBUG
bPath = API_DEV_BASEPATH
#else
bPath = API_PRODUCTION_BASEPATH
#endif
return bPath
}
}
希望这能解决你的困惑。