Parse和watchkit扩展

use*_*384 6 ios parse-platform apple-watch watchkit

我正在使用WatchKit构建一个应用程序,并希望使用PFObjects中的数据填充一个表,但是我遇到了这个错误:

由于未捕获的异常'NSInvalidUnarchiveOperationException'终止应用程序,原因:'此解码器将只解码采用NSSecureCoding的类."PFObject"类没有采用它.

这篇文章有同样的问题

Tom*_* C. 3

您是否考虑过向采用 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,那么类别似乎是一个合适的解决方案。