今天在项目中发现个问题,就是在用NSData的initWithContentsOfURL获取数据时发现initWithContentsOfURL貌似具有缓存功能。我在一GCD中获取远程数据时利用了initWithContentsOfURL,当我在获取过程中断开网络,该方法返回Error Domain=NSCocoaErrorDomain Code=256 "The operation couldn’t be completed. (Cocoa error 256.)"错误,但是当我再次调用这个函数的时候,却能返回数据(这时候网还是断开的),我就猜测其使用了网络缓存。另外开到该方法 可有一个options,但设置为NSDataReadingUncached并无效果,经查询NSDataReadingUncached主要是针对文件缓存。
DO NOT USE THESE APIs.在获取远程数据时避免使用NSData方法,而应改为NSURLConnection