我在和阿拉莫火一起工作。根据马特在非公开问题 on GitHub中的评论,我尝试了一种NSURLProtocol-based机制来设置UIApplication.sharedApplication().networkActivityIndicatorVisible标志。
但是,在向Alamofire的底层NSURLSessionConfiguration注册了我的自定义协议之后,我很快就被困住了,因为Alamofire没有公开太多的SessionDelegate类。
是否有一种简单的方法可以通知自定义NSURLProtocol请求已经完成,而无需在我的NSURLProtocol中复制已经存在的很多阿拉莫火实现。
发布于 2016-03-25 15:54:27
另一种方法(不是实现NSURLProtocol- way )是创建一个具有executeRequest方法的API:
func executeRequest(method: Alamofire.Method, url: NSURL, parameters: [String: String]?, headers: [String : String]?) {
// Show activity indicator on status bar
UIApplication.sharedApplication().networkActivityIndicatorVisible = true
let request = manager.request(method, url, parameters: parameters, encoding: .JSON, headers: headers)
.responseJSON {
response in
...
// Hide activity indicator on status bar
UIApplication.sharedApplication().networkActivityIndicatorVisible = false
}
}当然,您的所有请求都必须使用新创建的API执行。
https://stackoverflow.com/questions/27422675
复制相似问题