我的ViewController.swift
中有以下代码:
func OpenBarrier(){
let parameters = [
"username": keyStore?.stringForKey("loginUsername"),
"password": keyStore?.stringForKey("loginPassword"),
"api_key" : API.api_key
]
Alamofire.request(.GET, "\(API.baseurl)/slagboom/open.json" , parameters: parameters)
.responseJSON() {
(_, _, JSON, _) in
println("JSON: \(JSON)")
}
}
我收到此错误:
ViewController.swift:174:14: Cannot invoke 'responseJSON' with an argument list of type '((_, _, _, _) -> _)'
答案 0 :(得分:0)
您的parameters
参数应该是[String: AnyObject]?
而不是[String : AnyObject?]
。
修复此错误,您应该可以再次编译。
确保您的参数变量存在。如果没有,编译器会感到困惑,错误实际上并不是由于Alamofire。我希望这能帮到你。
答案 1 :(得分:0)
我找到了它:)
//the parameters list was wrong
let parameters = [
"username": keyStore?.stringForKey("loginUsername"),
"password": keyStore?.stringForKey("loginPassword"),
"api_key" : API.api_key
]
//when i cahnged it to the following it works, now to get around the keystore?
let parameters = [
"username": "loginUsername",
"password": "loginPassword",
"api_key" : API.api_key
]