iOS-NSURLProtocol的理解与应用

本文解析了NSURLProtocol官方文档,介绍了协议实现者必须实现的方法,如开始加载请求、停止加载等,并展示了初始化方法及属性如客户端、请求和缓存响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NSURLProtocol官方文档的理解

官方提供的实例与方法如下:

- (instancetype)initWithRequest:(NSURLRequest *)request cachedResponse:(nullable NSCachedURLResponse *)cachedResponse client:(nullable id <NSURLProtocolClient>)client NS_DESIGNATED_INITIALIZER;

@property (nullable, readonly, retain) id <NSURLProtocolClient> client;

@property (readonly, copy) NSURLRequest *request;

@property (nullable, readonly, copy) NSCachedURLResponse *cachedResponse;

/*======================================================================
  Begin responsibilities for protocol implementors

  The methods between this set of begin-end markers must be
  implemented in order to create a working protocol.
  ======================================================================*/
+ (BOOL)canInitWithRequest:(NSURLRequest *)request;

+ (NSURLRequest *)canonicalRequestForRequest:(NSURLRequest *)request;

+ (BOOL)requestIsCacheEquivalent:(NSURLRequest *)a toRequest:(NSURLRequest *)b;

- (void)startLoading;

- (void)stopLoading;

/*======================================================================
  End responsibilities for protocol implementors
  ======================================================================*/

+ (nullable id)propertyForKey:(NSString *)key inRequest:(NSURLRequest *)request;

+ (void)setProperty:(id)value forKey:(NSString *)key inRequest:(NSMutableURLRequest *)request;

+ (void)removePropertyForKey:(NSString *)key inRequest:(NSMutableURLRequest *)request;

+ (BOOL)registerClass:(Class)protocolClass;

+ (void)unregisterClass:(Class)protocolClass;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值