URLProtocol

来源:互联网 发布:合理利用网络课件ppt 编辑:程序博客网 时间:2024/05/29 09:54

NSURLProtocol主要用于处理特定协议的数据加载。它本身是一个抽象类,通过继承它我们可以自定义任何网络协议来返回给app数据,还可以拦截非法请求。

Symbols

1 Creating Protocol Objects

// 初始化public init(request: URLRequest, cachedResponse: CachedURLResponse?, client: URLProtocolClient?)

2 Registering and Unregistering Protocol Classes

// 注册实现的子类open class func registerClass(_ protocolClass: Swift.AnyClass) -> Bool// 移除注册的实现子类open class func unregisterClass(_ protocolClass: Swift.AnyClass)

3 Determining If a Subclass Can Handle a Request

// 是否拦截该请求,并处理open class func canInit(with request: URLRequest) -> Bool

4 Getting and Setting Request Properties

// 通过属性key获取值open class func property(forKey key: String, in request: URLRequest) -> Any?// 动态添加属性可以和对应的值 open class func setProperty(_ value: Any, forKey key: String, in request: NSMutableURLRequest)// 移除属性key和对应的值open class func removeProperty(forKey key: String, in request: NSMutableURLRequest)

5 Providing a Canonical Version of a Request

// 将拦截的请求转换为另一个请求处理open class func canonicalRequest(for request: URLRequest) -> URLRequest

6 Determining If Requests Are Cache Equivalent

// 验证两个请求是否使用同样的缓存open class func requestIsCacheEquivalent(_ a: URLRequest, to b: URLRequest) -> Bool

7 Starting and Stopping Downloads

// 开始加载数据open func startLoading()// 加载数据结束open func stopLoading()

8 Getting Protocol Attributes

// 数据加载器open var client: URLProtocolClient? { get }// 发出的请求open var request: URLRequest { get }// 缓存数据@NSCopying open var cachedResponse: CachedURLResponse? { get }

9 Initializers

// 初始化@available(iOS 8.0, *)public convenience init(task: URLSessionTask, cachedResponse: CachedURLResponse?, client: URLProtocolClient?)

10 Instance Properties

// 会话任务@available(iOS 8.0, *)@NSCopying open var task: URLSessionTask? { get }

11 Type Methods

// 是否拦截处理会话任务@available(iOS 8.0, *)open class func canInit(with task: URLSessionTask) -> Bool

 


Appendix

Sample Code

Swift

URLProtocol

Revision History

时间 描述 2016-02-10 博文完成

CSDN:http://blog.csdn.net/y550918116j

GitHub:https://github.com/937447974

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 高中生写字慢怎么办啊 孩子写字速度慢怎么办 孩子上学不合群怎么办 长期在家带孩子怎么办 孩子写字慢怎么办啊 小孩味口不好怎么办 孩子作业不会教怎么办 幼儿吹空调发烧怎么办 小学生上课不听讲怎么办 孩子成绩下滑家长怎么办 五年级成绩下滑怎么办 婴儿吃纸了怎么办 宝宝吃纸了怎么办 宝宝吃所料怎么办 宝宝爱吃卫生纸怎么办 宝宝看了强光怎么办 宝宝看了浴霸灯怎么办 一周半宝宝腹泻怎么办 小儿三天不大便怎么办 小宝宝腿纹不对怎么办 孩子个子太高怎么办 宝宝拉粑粑干硬怎么办 美国办新生儿护照怎么办 怀孕拉绿色大便怎么办 幼儿园孩子不爱学习怎么办 幼儿园老师管不住孩子怎么办 手机支架夹不住怎么办 画水彩没有留白液怎么办 水彩颜料脱胶了怎么办 指甲油涂到手上怎么办 抖音里没有控雨怎么办 qq视频没有特效怎么办 组长刁难员工员工怎么办 想转行没精力怎么办 桔子树无法退款怎么办 保温箱婴儿哭了怎么办 宝宝不爱吃肉泥怎么办 苹果x卡死了怎么办 苹果6手机用着卡怎么办 二个月宝宝肚子胀气怎么办 一岁半宝宝大便干结怎么办