我遇到了一个问题,我用不同的URL多次运行下面的页面,我“有时”会得到相同的数据(似乎是随机的)。我想知道iOS是否缓存了一些页面,并给我返回了相同的数据,而实际上并没有进入该URL。
是否有缓存?如果有,是否有方法在每次调用前清除缓存?
if let dataString = try? Data(contentsOf: url!) {
let pageContent = String(data: dataString, encoding: String.Encoding.utf8)
}
2条答案
按热度按时间mf98qq941#
看一下init(contentsOf:options:),它提供了一个名为
NSData.ReadingUncached
的选项,这是简单表单被缓存的证据,也是如何控制它是否被缓存的答案。URLSession是一种更好的控制方法
68bkxrlz2#
该高速缓存目录中有一些缓存文件- print
FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask).first!
从远程url加载图像后,我在缓存文件中添加了扩展名
.jpg
,这样就可以看到图像了。