首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义NSURLProtocol显示/隐藏NetworkActivityIndicator

自定义NSURLProtocol显示/隐藏NetworkActivityIndicator
EN

Stack Overflow用户
提问于 2014-12-11 12:15:44
回答 1查看 956关注 0票数 11

我在和阿拉莫火一起工作。根据马特在非公开问题 on GitHub中的评论,我尝试了一种NSURLProtocol-based机制来设置UIApplication.sharedApplication().networkActivityIndicatorVisible标志。

但是,在向Alamofire的底层NSURLSessionConfiguration注册了我的自定义协议之后,我很快就被困住了,因为Alamofire没有公开太多的SessionDelegate类。

是否有一种简单的方法可以通知自定义NSURLProtocol请求已经完成,而无需在我的NSURLProtocol中复制已经存在的很多阿拉莫火实现。

EN

回答 1

Stack Overflow用户

发布于 2016-03-25 15:54:27

另一种方法(不是实现NSURLProtocol- way )是创建一个具有executeRequest方法的API:

代码语言:javascript
复制
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执行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27422675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档