ios - 如何控制使用NSKeyedArchiver编码的对象?

标签 ios objective-c

我有一个包含两种不同类型的自定义类的数组。我们称它们为ClassA和ClassB。

我想为ClassA启用编码/序列化,但不为ClassB启用。

我正在使用[NSKeyedArchiver archiveRootObject:toFile]将列表序列化到磁盘。

我希望NSKeyedArchiver忽略所有ClassB类型的对象。

我不想遍历该列表并删除所有ClassB对象,因为我想将原始列表保留在内存中。

最佳答案

您可以子类化NSArray并重写-encodeWithCoder:方法,也可以复制并过滤原始文件,然后将副本而不是原始文件存档。

关于ios - 如何控制使用NSKeyedArchiver编码的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20333283/

相关文章:

ios - 如何在 iOS 7 中向 UIToolbar 添加更大的按钮项?

objective-c - 使用 Xcode 4 编译 libogg

ios - Swift 3。如果我将在我的项目(google sdk)中使用谷歌地图,用户是否需要在使用之前安装谷歌地图?

objective-c - 覆盖-performSelector : in UIBarButtonItem Subclass

iOS10 语音识别器拼写

ios - 我们可以在最新的 mac os 版本上安装旧的 Xcode 版本吗?

ios - NSURLSessionTask 在使用后台配置时从不在超时后回调

iOS REST App 内存优化

objective-c - 对文件的一些操作

ios - 在多个 View 中滑动手指时如何检测特定 UIView 中的触摸