No se puede invocar 'responseObject' con una list de arguments de tipo (('WeatherResponse ?, NSError?) -> Void

Usar Xcode 7.1 Utilizó el marco AlamofireObjectMapper de Github . No puedo usar el controller responseObject.

A continuación se muestra el código:

let url = "https://raw.githubusercontent.com/tristanhimmelman/AlamofireObjectMapper/f583be1121dbc5e9b0381b3017718a70c31054f7/sample_json" Alamofire.request(.GET, url).responseObject{(response :WeatherResponse?, error: NSError?) -> Void in print(response?.location) } 

Incluso si elimino el '-> Vacío' del código, no hay diferencia. WeatherResponse es una class personalizada con el siguiente código:

 class WeatherResponse: Mappable { var location: String? var threeDayForecast: [Forecast]? requinetworking init?(_ map: Map){ } func mapping(map: Map) { location <- map["location"] threeDayForecast <- map["three_day_forecast"] } } 

Error:

introduzca la descripción de la imagen aquí

La firma del método para responseObject es

 public func responseObject<T: Mappable>(completionHandler: (T?, ErrorType?) -> Void) -> Self 

¿Tenga en count que el parámetro de error es un ErrorType? , no NSError? . La forma correcta de llamar al cierre sería:

 Alamofire.request(.GET, url).responseObject{(response: WeatherResponse?, error: ErrorType?) -> Void in print(response?.location) } 

Asegúrese de importar Alamofire , AlamofireObjectMapper y ObjectMapper .

importando AlamofireObjectMapper y ObjectMapper en el model resolvió mi problema

Actualmente con la versión 2.1 puedes usar:

 Alamofire.request(.GET, URL, parameters: nil) .responseObject({ (response: Response< WeatherResponse, NSError>) -> Void in if response.result.isSuccess { print(response.result.value) } }) 

¡Buena suerte!