我刚刚开始使用Swift进行项目。我选择Alamofire作为网络接口。
因为我曾经使用过AFNetworking风格的界面:
- (NSURLSessionDataTask *)GET:(NSString *)URLString
parameters:(id)parameters
progress:(void (^)(NSProgress * _Nonnull))downloadProgress
success:(void (^)(NSURLSessionDataTask * _Nonnull, id _Nullable))success
failure:(void (^)(NSURLSessionDataTask * _Nullable, NSError * _Nonnull))failure
我可以非常清楚地区分成功和失败。每个人都有自己的工作块。
但是在Alamofire中,请求风格似乎需要将成功与失败混合在一起:
Alamofire.request(.GET, "https://httpbin.org/get", parameters: ["foo": "bar"])
.responseJSON { response in
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
}
那么我是否必须将Alamofire的请求界面打包成AFNetworking风格?或者有人对此有一些好的做法?
答案 0 :(得分:0)
在回复中,如果成功,您会收到很多信息,包括您的数据,如果有的话,还会收到错误(错误?可选类型)。
您可以简单地检查错误是否为零然后成功。
Alamofire.request(.GET, "https://httpbin.org/get", parameters: ["foo": "bar"])
.responseJSON { response in
if response.error == nil {
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
} else {
//do something
}
}