多亏了以下问题的答案,我才知道如何通过使用WKProcessPool在多个WKWebView之间使用Cookies。
Cookie sharing between multiple WKWebViews
然后,我现在尝试使用NSUserDefaults永久存储(我的单例对象的)WKProcessPool对象。
我遇到以下错误。Attempt to insert non-property list object
因此,我尝试通过NSKeyedArchiver将WKProcessPool对象转换为NSData来修复错误。
但这不能完成,因为WKProcessPool没有实现encodeWithCoder:
和init:aDecoder
。
如何解决此问题以永久存储WKProcessPool对象?
最佳答案
您需要为自定义对象实现 NSCoding
。这是 Ray Wenderlich's tutorial
编辑:
我真的不知道 WKProcessPool
是内置类,因为苹果没有在其中实现NSCoding
,我什至看不到此类的 public 属性,因此即使您将其子类化,也没有任何想法编码/解码的属性。
您需要找到其他解决方案,而不是归档/归档对象。即使您使用类别实现某些目标,我也怕您会得到预期的结果。