我正在用swift创建一个应用程序。我创建了一个类," generatorID" (目的:从数据库中返回一个随机ID):
import UIKit
import Alamofire
class generatorID: NSObject {
var idRandom = String()
func setRandomNumber(maxNumber: Int) -> Int {
return Int(arc4random()) % maxNumber
}
func setRandomIdUser()-> String {
Alamofire.request(.GET, "http://localhost:3000/api/users")
.responseJSON{ (request, response, data, error) in
var randomNumber = self.setRandomNumber(data!.count)
self.idRandom = data![randomNumber].objectForKey("id")! as String
}
return idRandom
}
}
问题,setRandomIdUser()什么都不返回。我想知道如何在我的函数setRandomIdUser()中的闭包内设置变量idRandom的值。当我把
println(self.idRandom)
之后的
self.idRandom = data![randomNumber].objectForKey("id")! as String
,我可以看到一个随机ID。
感谢您的帮助!
答案 0 :(得分:0)
Alamofire.request
在另一个线程上运行并等待数据。因此,closure
将在closure
运行之后返回并执行。