我是Swift语言的新手。我已经用完成块写了函数
import Foundation
import Alamofire
struct ConnectionManager {
func callGetMethod(url:NSString , completion:(responseData:AnyObject,errorMessage:NSError)->Void)
{
let urlObj = NSURL(string: url)!
Alamofire.request(.GET, urlObj).responseJSON() {
(_, _, data, error) in
completion( responseData: data!, errorMessage: error!)
println(data)
}
}
}
并从我的viewcontroller调用,但我收到错误调用中的额外参数编译。
var stringurl="http://"
ConnectionManager.callGetMethod(url:stringurl,completion:{(responseData,errorMessage) in
})
请建议我 .. 提前致谢
答案 0 :(得分:1)
您的通话中有3个问题:
url
(第一个参数标签)callGetMethod
声明为成员函数,并且您使用结构名称而不是它的对象来调用它。如果需要通过struct name调用它,请将其设为静态将实施更改为:
struct ConnectionManager
{
static func callGetMethod(url:NSString , completion:(responseData:AnyObject,errorMessage:NSError)->Void)
{
}
}
您需要将通话更改为:
ConnectionManager.callGetMethod("", completion: { (responseData, errorMessage) -> Void in
})
问题还在于你