iOS7 框架,用于简单稳健的网络处理,基于 NSURLSession 构建。
网络库有很多,但大多数都相当沉重,附带很多限制。HIPNetworking 是一个简单、稳健的网络类,解决了几个关键问题
HIPNetworkClient 公开了两个关键实例方法
- (NSURLRequest *)requestWithURL:(NSURL *)url
method:(HIPNetworkClientRequestMethod)method
data:(NSData *)data;
- (void)performRequest:(NSURLRequest *)request
withParseMode:(HIPNetworkClientParseMode)parseMode
identifier:(NSString *)identifier
indexPath:(NSIndexPath *)indexPath
cacheResults:(BOOL)cache
completionHandler:(void (^)(id parsedData, NSURLResponse *response, NSError *error))completionHandler;
这两个方法可以用于生成几乎任何 HTTP 网络请求,并提供大量配置自由度。此外,还提供了一个特别的图像加载方法
- (void)loadImageFromURL:(NSURL *)url
withScaleMode:(HIPNetworkClientScaleMode)scaleMode
targetSize:(CGSize)targetSize
identifier:(NSString *)identifier
indexPath:(NSIndexPath *)indexPath
completionHandler:(void (^)(UIImage *image, NSURL *url, NSError *error))completionHandler;
此图像加载方法可以使用给定的选项处理加载、缓存、缩放和裁剪
最后,请求取消也很容易
- (void)cancelTasksWithIdentifier:(NSString *)identifier;
- (void)cancelTaskWithIdentifier:(NSString *)identifier
indexPath:(NSIndexPath *)indexPath;
使用这些方法,您可以取消所有具有特定标识符的任务,或者取消任何标识符与索引路径匹配的单个任务。这在滚动表格或集合视图时取消任务非常有用。
所有这些方法的详细文档都可在 HIPNetworkClient 类中找到。该框架期望您创建子类并
将 HIPNetworking
目录复制并包含到您自己的项目中。
唯一的依赖是 TMCache。
如果您发现任何问题,请在此GitHub上提出问题,并且您可以自由地提交包含改进和修复的拉取请求。您也可以通过电子邮件联系我们,地址为 [email protected]。
HIPNetworking 是由 Taylan Pince 和 Hipo Team 带来的。
HIPNetworking 在 Apache License,版本 2.0 的条款下授权。有关详细信息,请参阅 LICENSE 文件。