use*_*384 6 ios parse-platform apple-watch watchkit
我正在使用WatchKit构建一个应用程序,并希望使用PFObjects中的数据填充一个表,但是我遇到了这个错误:
由于未捕获的异常'NSInvalidUnarchiveOperationException'终止应用程序,原因:'此解码器将只解码采用NSSecureCoding的类."PFObject"类没有采用它.
和这篇文章有同样的问题
您是否考虑过向采用 NSSecureCoding 协议的 PFObject 添加 Swift 扩展?
我还没有尝试过此操作,但考虑到错误消息,预期此操作可以正常工作似乎是合理的。
建议操作
为了符合 NSSecureCoding:
不重写 initWithCoder: 的对象可以符合 NSSecureCoding 而不进行任何更改(假设它是另一个符合的类的子类)。
覆盖 initWithCoder: 的对象必须使用decodeObjectOfClass:forKey: 方法解码任何包含的对象。例如:
迅速
let obj = decoder.decodeObjectOfClass(MyClass.self, forKey: "myKey")
Run Code Online (Sandbox Code Playgroud)
此外,该类必须重写其supportsSecureCoding方法才能返回true。
如果使用 Objective-C,那么类别似乎是一个合适的解决方案。