基础应用

dataWithContentsOfURL方法为什么会经常失败

2020-12-04  本文已影响0人  落叶兮兮

最近,在尝试使用iOS的第三方框架Hpple来爬去网站上的小说
Hpple的使用方法是需要传入NSData字段

TFHpple *hpple = [[TFHpple alloc] initWithHTMLData:data];

为了获得NSData,我最初使用的是

NSData *data = [NSData dataWithContentsOfURL:url];

url使用的是某个小说网站的网址
结果经常出现错误
有时能解析成功,有时会报错,经过调试发现能够获取data数据,但是hpple在解析data时经常找不到相应的元素

我一直以为是Hpple这个第三方框架的问题,直到我看到苹果官方文档关于dataWithContentsOfURL的介绍


image.png image.png

意思就是,使用dataWithContentsOfUrl方法,只适合于本地的小文件读取
本地的大文件转换为NSdata需要使用inputStreamWithUrl
千万不要用这个方法去读取基于网络url,这可能会导致各种各样的问题,对于网络url,还是老老实实使用dataTaskWithUrl:Completion Hansler这个方法吧

上一篇下一篇

猜你喜欢

热点阅读