首页 > 解决方案 > iOS 12 的 NSCoding 问题

问题描述

在使用 iOS 12 时,我遇到了一个问题:

我有一个名为 ClassA 的自定义类符合 NSCoding 协议,ClassA 有一个 NSArray 属性,这个数组只包含一种自定义 ClassB 的对象,ClassB 也符合 NSCoding 协议。

在我的应用程序中,ClassA 的对象将在一次存档并在下一次取消存档。在 iOS 12 下一切正常。

现在使用 iOS 12,归档似乎可以(归档将调用 ClassA 和 classB 的编码函数),而取消归档无法正常工作:取消归档将调用 ClassA 的编码函数,但不会调用 ClassB 的编码函数(在 iOS 11 中,它调用) . ClassB 的未归档对象是完全错误的:它在调用“isKindOfClass: [ClassB class]”时返回 nil,通常它应该返回 Yes 或 No。

我不确定这个问题是否是由 iOS 12 系统引起的,有人知道吗?

标签: nsarraynscoding

解决方案


推荐阅读