我有這樣的代碼,它顯然錯誤了,因爲當我在返回語句中使用FOO時,它超出了函數的範圍。我知道(我想我知道)我需要使用閉包來捕獲變量,但我無法弄清楚如何做到這一點。使用Alamofire & SwiftyJSON。任何幫助將是偉大的!謝謝!使用Swift閉包捕獲變量
func getPlayerID(named: String) -> String {
Alamofire.request(.GET, "URL", headers: headers)
.responseJSON { response in
let json = JSON.self(response.result.value!)
for var index = 0; index < json.count; index++ {
if json[index]["Name"].stringValue == named {
var FOO = json[index]["FOO"].stringValue
} // If Statement End
} // For Loop End
} // Alamofire Request End
// Return Statement for getPLayerID Function
return FOO
} // getPlayerID Function End
} // Player Struct End
你可以在循環之外聲明'FOO'。 – Arc676
如果我這樣做,在循環內更改了FOO的值,但該值並不遵循循環外的FOO。希望這是有道理的。用print()聲明測試了這個 –