私のコードは動作しますが、変数を返すものを保つことはできません。 私は印刷することしかできませんが、変数として格納する呼び出しとしてはできません。 webserviceに使用するクラスをアタッチしました。ビューコントローラの使用では即時にwebserviceを呼び出した後で、非同期呼び出し関数からデータを返し、変数を保存します
class WebService{
class func llamarWebService(completionHandler: (datos:NSArray)->()){
let urlPath = "http://aaaaaaaaa.com.ar/aaaaaaaaa/forwarder_number?phone=0000000000"
let url = NSURL(string: urlPath)
let session = NSURLSession.sharedSession()
var arreglo:NSArray!
let task = session.dataTaskWithURL(url!,completionHandler: {data,response,error -> Void in
if (error != nil){
print(error?.localizedDescription)
}
let nsdata: NSData = NSData(data: data!)
arreglo = self.retornarDatos(nsdata)
completionHandler(datos: arreglo)
})
task.resume()
}
class func retornarDatos(nsdata: NSData)-> Array<String>{
let datos = NSString(data:nsdata,encoding: NSUTF8StringEncoding)
let partes = datos?.componentsSeparatedByString(",")
var arreglo : [String] = []
for i in partes!{
arreglo.append(i)
}
return arreglo
}
}
この
var resultadoWebService = WebService.llamarWebService{
datos in print([datos[0],datos[1],datos[2],datos[3],datos[4]])
}
私は、例えば、保存必要があります:実際にコード
var1 = datos[0]
var2 = datos[1]
、OK、LeoAndroid [コンソールに
を私を見ます20,2,2222222222]
'[OK、LeoAndroid、20、2、2222222222]の出力はOKですが、これらの5つの値を変数に代入する方法を尋ねていますか? – Rob
まさに、ちょうど私が欲しい。 –