我正在开发浏览器应用程序。我想在应用程序重新启动时恢复WKWebView对象。所以我序列化了WKWebView对象并保存到Realm中。但是当我反序列化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 []
我想恢复不仅url,但backList作为WKWebView对象的一部分。如果可能,我不想执行保存backList的唯一功能。
任何建议请。