У меня есть эти два метода в моем классе API, чтобы получить данные из API:Понимание быстры Alamofire completionHandler
func authenticateUser(completionHandler: (responseObject: String?, error: NSError?) ->()) {
makeAuthenticateUserCall(completionHandler)
}
func makeAuthenticateUserCall(completionHandler: (responseObject: String?, error: NSError?) ->()) {
Alamofire.request(.GET, loginUrlString)
.authenticate(user: "a", password: "b")
.responseString { request, response, responseString, responseError in
completionHandler(responseObject: responseString as String!, error: responseError)
}
}
Тогда в другом классе я использую следующий код для доступа к данным:
API().authenticateUser{ (responseObject, error) in
println(responseObject)
}
Код работает, но я не понимаю его полностью.
- FUNC authenticateUser имеет параметр completionHandler: (responseObject: Строка ?, об ошибке: NSError?) ->(), является ли это ссылка на метод completionHandler? или это объект? В чем цель ->()?
- Когда я вызываю функцию authenticateUser, как мне получить доступ к ответу? В любой из моих функций api нет возврата, синтаксис funcname {(parameter, parameter) in ..} кажется действительно странным.
Ваша правка делает вопрос совершенно непонятно. –