SWIFT IOS在同一函数中返回两个不同的对象

SWIFT IOS在同一函数中返回两个不同的对象,ios,iphone,swift,return,afnetworking,Ios,Iphone,Swift,Return,Afnetworking,如果一切顺利,我想返回请求;如果出现问题,我想返回错误 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,"gran

如果一切顺利,我想返回请求;如果出现问题,我想返回错误

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)

可以使用如下元组返回两个不同的对象:

//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)
要再次访问它们,请执行以下操作:

//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)

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

您可以使用如下元组返回两个不同的对象:

//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)
要再次访问它们,请执行以下操作:

//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)

当然,您必须检查,当您收到函数的返回时,哪个值是零。

给那个对我的答案投了否决票的人。请解释你的反对票。我想知道我在回答中做错了什么。对那个否决我回答的人。请解释你的反对票。我想知道我在回答中做错了什么。看看无数个失败模式的例子看看无数个失败模式的例子