2015-11-26 3 views
1

У меня возникают проблемы с компиляцией моего приложения, которое я создал в Swift 1 с Alamofire. Эта проблема возникает в следующем коде:Ошибка аргументов закрытия Alamofire при обновлении до swift 2

func fetchApiData() { 

    print("called") 

    // I believe this is the problem code below. 


    let _requestURL1 = Alamofire.request(.GET,dataSourceURL!) 
    _requestURL1.responseJSON { (_requestUrl, _requestResponse, _objJSON1, error) -> Void in 
     if(_objJSON1 != nil) 
     { 
      let jsonResult1 = _objJSON1 as NSDictionary; 
      //let jsonResult2: NSDictionary! = NSJSONSerialization.JSONObjectWithData(data, 
      // options:NSJSONReadingOptions.MutableContainers, error: self.error) as NSDictionary 
      self.checkIP(jsonResult1) 
      self.checkGeo(jsonResult1) 
      //println(jsonResult1); 
     } 
     else{ 
      return 
     } 
} 

ошибка определяется говорит:

Contextual type for closure argument list expects 1 argument, but 4 were specified 

Я попытался решение от here, но я не могу заставить его работать без ошибок. Пожалуйста помоги!

+1

Возможного дубликата [запрос Alamofire POST с Swift 2] (http://stackoverflow.com/questions/32277680/alamofire-post-request-with-swift-2) –

ответ

1

код должен выглядеть следующим образом

let _requestURL1 = Alamofire.request(.GET,dataSourceURL!) 

_requestURL1.responseJSON { response in 
let json = JSON(response.data!) 
let token = json["token"].string 
response(token: token) 
} 

Как и в другом посте описан, в Swift 2, .responseJSON изменялось от 4 аргументов только 1

+0

Я не знаю, как подключить переменные к этому – dbus

+0

Это то, что я пробовал, но я не могу заставить его работать – dbus

Смежные вопросы