gpt4 book ai didi

ios - 不同 iOS 版本上的 NSKeyedArchiver/NSKeyedUnarchiver 兼容性

转载 作者:行者123 更新时间:2023-11-29 10:59:39 26 4
gpt4 key购买 nike

在 iOS 应用程序中,我们通过 NSKeyedArchiver/NSKeyedUnarchiver 使用复杂对象的序列化来存储信息和数据。

因此应用程序将在应用程序包中包含这样一个序列化对象,并且该文件将在一个特定的 iOS 版本(假设是 iOS 5.0)下创建

由于该应用程序将在不同的 iOS 版本(> 5.0)上运行,甚至在未来的版本中,我们希望确保应用程序包中包含的原始序列化对象在所有其他 iOS(6.1 , 7.0, ...)

假设要序列化的复杂对象由其类包含在所有这些 iOS 版本的 SDK 中的对象组成(为简单起见,我们假设这些类将来不会弃用),我们能完全确定它始终与所有 iOS 兼容吗?

最佳答案

一般来说,是的。

要绝对 100% 确定您需要使用所有自定义对象,然后您才能完全控制存档/取消存档过程。但是,只要所有类都适本地使用键控归档器的编码和解码方法,那么一切都将在未来兼容。

如果 Apple 出于某种原因确实决定打破这一点,您最好的选择是捕获由此产生的异常并通知用户他们需要升级应用。

您的替代方法是以不同的格式(如 JSON,可能是压缩的)存储初始部署数据,然后在应用程序启动时,如果您有现有版本,请使用它,如果没有,请读入初始部署数据。

关于ios - 不同 iOS 版本上的 NSKeyedArchiver/NSKeyedUnarchiver 兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16538581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com