gpt4 book ai didi

objective-c - 自定义 NSURLProtocol 以显示/隐藏 NetworkActivityIndi​​cator

转载 作者:IT王子 更新时间:2023-10-29 05:38:25 24 4
gpt4 key购买 nike

我正在使用 Alamofire。跟进马特在 closed issues 之一中的评论在 GitHub 上,我尝试了一种基于 NSURLProtocol 的机制来设置 UIApplication.sharedApplication().networkActivityIndi​​catorVisible 标志。

但是,在使用 Alamofire 的底层 NSURLSessionConfiguration 注册我的自定义协议(protocol)后,我很快就卡住了,因为 Alamofire 没有公开它的大部分 SessionDelegate 类。

有没有一种简单的方法可以通知自定义 NSURLProtocol 请求已完成,而无需在我的 NSURLProtocol 中重现大部分已经存在的 Alamofire 实现?

最佳答案

另一种方式(不实现 NSURLProtocol 方式)是创建一个具有 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 来执行。

关于objective-c - 自定义 NSURLProtocol 以显示/隐藏 NetworkActivityIndi​​cator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27422675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com