【发布时间】:2016-04-04 19:35:13
【问题描述】:
从here 我看到处理 JSON 响应时正确的 Alamofire 2/Swift 2 语法是:
Alamofire.request(.GET, URLString, parameters: ["foo": "bar"])
.responseJSON { request, response, result in
switch result {
case .Success(let JSON):
print("Success with JSON: \(JSON)")
case .Failure(let data, let error):
print("Request failed with error: \(error)")
if let data = data {
print("Response data: \(NSString(data: data, encoding: NSUTF8StringEncoding)!)")
}
}
}
let JSON 是如何以及在哪里定义的? (从 Swift 的角度来看。)
我在请求扩展中看到 ResponseSerializer 返回 .Success(JSON) 但为什么处理程序没有像通常的函数那样定义:
case .Success(JSON: AnyObject?) {
print("Success with JSON: \(JSON)")
}
或者更好:
case .Success(JSON: NSDictionary?) {
print("Success with NSDictionary: \(JSON)")
}
【问题讨论】:
-
没有在任何地方定义,这只是使用枚举内部数据的语法。
标签: json swift enums closures alamofire