responsedata - use alamofire in swift 4
Ambigiosa referencia a la solicitud de miembro() problemas con Alamofire después de la migración a veloz 3 (2)
Tengo la rama Alamofire swift3
trabajando en Xcode 8.0 ß6 con el siguiente código:
Alamofire.request("https:///(ip)/api/version", withMethod: .get,
parameters: nil, encoding: .json, headers: headers)
.validate()
.responseJSON { response in
//debugPrint(response)
switch response.result {
case .success:
if let JSON = response.result.value {
let version = Mapper<Version>().map(JSON)
print("Version /(version?.server!)")
}
case .failure(let error):
print (error)
}
}
Preste mucha atención al orden y los tipos de sus argumentos para .request
Debería tener solo un marco Alamofire activo. Intente rehacerlo en otro clon, o tal vez intente lo siguiente en el clon que tiene?
pod cache clean --all
pod install
¿Qué tiene tu Podfile
en él?
source ''https://github.com/CocoaPods/Specs.git''
platform :ios, ''9.0''
use_frameworks!
target ''NewApp'' do
pod ''Alamofire'',
:git => ''https://github.com/Alamofire/Alamofire.git'',
:branch => ''swift3''
end
Por lo tanto, soy nuevo en cuanto a rapidez en general, así que tengan paciencia. La consulta me resultó rápida, pero después de migrar a veloz 3 recibí el error.
Referencia ambigua a la solicitud del miembro (_: conMétodo: parámetros: codificación: encabezados :) ''
A continuación se muestra el código en el que ocurre:
Alamofire.request(.GET, serverRequest).validate().responseJSON( { response in
switch response.result{
case .Success:
if let JSON = response.result.value {
let final = JSON[wantedClass] as! String//forces output to string
self.failure("You asked what your " + wantedClass + " is, it is:", message: final)
}
case .Failure(let error):
print(error)
}
})
No entiendo cuál es el problema.
Tuve el mismo problema: reordenaron los parámetros en el método, por lo que ahora ''.get'' debe colocarse después de WithMethod .
Si usa Alamofire 4.0 en su proyecto (supongo que lo hace, porque este error lo obtuve en la versión 4) necesita escribir
Alamofire.request(serverRequest, withMethod: .get)
o por ejemplo
Alamofire.request(serverRequest, withMethod: .get, parameters: nil, encoding: .url, headers: nil)