【发布时间】:2014-12-12 03:06:50
【问题描述】:
这是一个函数,它应该返回一个类型为 Int 和 Dictionary 但是我不断收到这个错误“元组类型 '(Int, Dictionary )' 和 '()' 有不同数量的元素(2 对 0)。”这很奇怪,因为它似乎告诉我我正在返回正确的元组,但我不确定为什么它说“(元组)和'()'”有不同的论点。
class func SomeFunc(param: String) -> (x: Int, y: Dictionary<String, AnyObject>){
var request = HTTPTask()
request.responseSerializer = JSONResponseSerializer()
let params: Dictionary<String,AnyObject> = ["key": param]
request.POST("http://mysite/url", parameters: params, success: {(response: HTTPResponse) in
let dict = response.responseObject as Dictionary<String,AnyObject>
let status:Int = 200
return (status, dict) //Tuple types '(Int, Dictionary<String, AnyObject>)' and '()' have a different number of elements (2 vs. 0)
},failure: {(error: NSError, response: HTTPResponse?) in
})
}
【问题讨论】:
-
您的
return语句从闭包返回,而不是从函数返回。你不能做你想做的事,因为POST是异步的。