2015-09-16 92 views
0

我想緩存我的UIWebView當我沒有網絡連接,但它不起作用。我試圖調查HanekeSwift,但只有在我能找到的情況下才能用於JSON請求。UIWebView緩存不工作

這是我目前有:

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); 
} 
+0

如果您可以告訴沒有網絡或使用默認行爲,請使用特定高速緩存策略「ReturnCacheDataDontLoad」創建'requestObj'。 – KudoCC

+0

它以某種方式給我這個錯誤0x196a994c8 <+28>:ldr x9,[x19] WebThread(6):EXC_BAD_ACCESS(code = 1,address = 0x8)' –

+0

有我的應用程序的webview,這樣做工作,但在其中一些它不知何故給出了這個錯誤,雖然他們是完全一樣的。 –

回答

0

我的問題在這裏得到解答: Getting error with cachePolicy

感謝KudoCC爲指向我在我得到這個作爲我的最終代碼的正確方向:

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

如果有網絡,應該總是使用'UseProtocolCachePolicy',因爲即使服務器上的源文件已被更新,'ReturnCacheDataElseLoad'也會加載本地緩存。 – KudoCC

+0

我剛碰到這個問題,謝謝!我將搜索如何找到可用的互聯網連接 –