标题说明了一切。似乎应该可以(以某种方式)为其 Objective-C 类实现 NSCoding 的 PyObjC 对象实现 python 端 pickle ,而无需从头开始重新实现所有内容。也就是说,虽然值语义成员可能很简单,但引用对象图和条件编码可能很棘手。您如何让双方在对象图部分上“协作”?
请您参考如下方法:
PyObjC 确实支持将 Python 对象写入(键控)存档(也就是说,任何可以 pickle 的对象都实现了 NSCoding)。
这可能是序列化 Python 和 Objective-C 对象的任意图形的最简单方法。
正如我在另一个答案的评论中所写的那样,由于 NSArchiver 和 pickle 遍历对象图的方式不兼容(IIRC 主要是在恢复归档)。
