import Alamofire
import SwiftyJson
public class MyExample{
var myarray=[String]()
func onCreate(){
Alamofire.request(.GET, "https://myurl.org/get", ).responseJSON { response in
let json = JSON(value)
let list: Array<JSON> = json.arrayValue
for element in list{
myarray.append(element["name"].stringValue)
}
}
func getMyArray(){return myarray}
}
答案 0 :(得分:0)
好的,我有同样的问题但是在目标C中。
问题是你的数组在返回后填充。如果你知道为什么要使用debug。
解决方案是使用信号量。
import Alamofire
import SwiftyJson
public class MyExample{
var myarray=[String]()
//create a semaphore and init it
func onCreate(){
Alamofire.request(.GET, "https://myurl.org/get", ).responseJSON { response in
let json = JSON(value)
let list: Array<JSON> = json.arrayValue
for element in list{
myarray.append(element["name"].stringValue)
// use the semaphore
}
}
//use function to wait until the semaphore is done by the other thread.
func getMyArray(){return myarray}
}
您可以在google上找到有关信号量的许多信息。 如果它能帮助你投票给我。