私はブラウザアプリケーションを開発しています。私は、WKWebViewオブジェクトを再起動するときに復元したいと思います。 WKWebViewオブジェクトをシリアライズしてレルムに保存しました。しかし、私はWKWebViewオブジェクトを逆シリアル化したとき、urlとbackListのデータはWKWebViewから失われました。デシリアライズされたWKWebViewからURLが削除される理由
let WebView = WKWebView()
WebView.frame = CGRect(x: 0, y: 0, width:300, height:650)
let urlString = "http://www.google.com"
let encodedUrlString = urlString.addingPercentEncoding(withAllowedCharacters:NSCharacterSet.urlQueryAllowed)
let url = NSURL(string: encodedUrlString!)
let request = NSURLRequest(url: url! as URL)
WebView.load(request as URLRequest)
let serialized_WebView = NSKeyedArchiver.archivedData(withRootObject: WebView) as NSData //convert to NSData
let deserialized_WebView = NSKeyedUnarchiver.unarchiveObject(with: serialized_WebView as! Data) as! WKWebView
print("frame",deserialized_WebView.frame) // frame (0.0, 0.0, 300.0, 650.0)
print("url",deserialized_WebView.url) // url nil
print("backList",deserialized_WebView.backForwardList.backList) // backList []
私は、WKWebViewオブジェクトの一部としてurlだけでなく、backListを復元したいと思います。私はできるだけバックリストを保存するというユニークな機能を実装したくありません。
お願いします。