SWIFT IOS return 同一函数中的 2 个不同对象

SWIFT IOS return 2 different objects in a same function

如果一切顺利,我想 return 请求,如果出现问题,我想 return 错误。

func afnwPost(url: String,client_id: String, client_secret:String,grant_type:String, userparam: String, passwordparam:String)-> AnyObject{

    var parameters = ["client_id":client_id,"client_secret":client_secret,"grant_type":grant_type,"username":userparam,"password":passwordparam]

    manager.POST( url,
    parameters: parameters,
    success: { (operation: AFHTTPRequestOperation!,responseObject: AnyObject!) in
    println("JSON: " + responseObject.description)
    return responseObject
    },
    failure: { (operation: AFHTTPRequestOperation!,error: NSError!) in
    println("Error: " + error.localizedDescription)
    return error
    })
}

调用方式

 var respuesta = obtenerToken.afnwPost(host_oauth,
        client_id: client_id,
        client_secret:client_secret,
        grant_type:grant_type_token,
        userparam: textfieldUsuario.text,
        passwordparam: textfieldContrasenya.text)

您可以 return 使用 元组 两个不同的对象:

//Dummy method to show how it works.
func yourFunction()->(responseObject:AnyObject, error:String){
  return (responseObject, error)
}

要再次访问它们,请执行以下操作:

var yourResult = yourFunction()
println(yourResult.responseObject)
println(yourResult.error)

当然,当您收到函数的 return 时,您必须检查哪个值是 nil