Ios UIWebView缓存不工作

Ios UIWebView缓存不工作,ios,swift,Ios,Swift,当我没有网络连接但无法工作时,我尝试缓存UIWebView。我试着研究HanekeSwift,但这只适用于JSON请求 这就是我目前拥有的: override func viewDidLoad() { super.viewDidLoad() let id = NSUserDefaults.standardUserDefaults().objectForKey("id") as! String let url = NSURL (string: "http://****.p

当我没有网络连接但无法工作时,我尝试缓存UIWebView。我试着研究HanekeSwift,但这只适用于JSON请求

这就是我目前拥有的:

override func viewDidLoad() {
    super.viewDidLoad()
    let id = NSUserDefaults.standardUserDefaults().objectForKey("id") as! String

    let url = NSURL (string: "http://****.php?id=\(id)");
    let requestObj = NSURLRequest(URL: url!);
    subtitleLabel.loadRequest(requestObj);
}

我的问题在这里得到了回答:

感谢KudoCC为我指明了正确的方向,我最终得到了以下代码:

var url = NSURL(string: "****.php?page=over_polen")
let requestObj = NSURLRequest(URL: url!, cachePolicy: NSURLRequestCachePolicy.ReturnCacheDataElseLoad, timeoutInterval: 5);
webViewLabel.loadRequest(requestObj);

如果可以判断没有网络,或者使用默认行为,则使用特定的缓存策略创建
requestObj
,返回cachedatadontload。它会以某种方式给我这个错误
0x196a994c8:ldr x9,[x19]WebThread(6):EXC_BAD_访问(code=1,address=0x8)
我的应用程序中有webview,但在某些应用程序中,它会在完全相同的情况下以某种方式出现错误。我注意到,只有在我使用当前代码时,它才起作用>查看页面>将代码更改为ReturnCachedOnToLoad>Rebuild>查看页面。否则我就错了。太奇怪了。如果有网络,你应该总是使用
UseProtocolCachePolicy
,因为
ReturnCacheDataElseLoad
会加载本地缓存,即使服务器上的源文件已经更新。我刚刚碰到了这个问题,谢谢!我将搜索如何找到此服务器的internet连接可用性