-1
我想使用2個常量,它們應該從函數的返回值初始化。我想在同一個文件中使用這兩個常量,並且函數和常量也是相同的文件。使用函數返回值初始化一個全局變量
class myclass{
static var ip :String
static var host :String
init(ip :String, host :String) {
let myconstant = self.setEnvVariables()
let ip = myconstant.0
let host = myconstant.1
}
internal func setVariables() -> (String , String){
let ip,host: String
if (some condition) != nil){
ip = "127.0.0.1"
host = "http://youraddress.com"
}
else{
ip = "10.12"
host = "http://myaddress.com"
}
return (ip,host)
}
第一次實施有效!我也嘗試了第二種方法MyClass類{ 私有靜態讓ipHost = setVariables() 靜態IP就讓= ipHost.0 靜態令主機= ipHost.1 }但它給錯誤 不能使用實例成員「屬性初始值設定項中的「setEnvVariables」;屬性初始值設定項在'self'可用之前運行 –
@KIFtest你是對的!我認爲這個函數是全局的:-(你需要聲明它是'static',並用你的類名作爲前綴來調用它,我更新了我的答案;請再試一次;) –