我正在開發瀏覽器應用程序。我想在應用程序重新啓動時恢復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的唯一功能。
任何建議請。