【发布时间】:2012-08-25 04:56:06
【问题描述】:
NSArchiver 如何序列化到文件?我假设它是以二进制格式序列化的,对吗?如果我想将它存储在字符串中以便存储到 SQLite 数据库中怎么办?我需要编写自己的自定义 NSArchiver 吗?如果是这样,我该怎么做?有教程吗?
附言我确实意识到 Core Data 可以做到这一点,但让我暂时取消该选项。
【问题讨论】:
NSArchiver 如何序列化到文件?我假设它是以二进制格式序列化的,对吗?如果我想将它存储在字符串中以便存储到 SQLite 数据库中怎么办?我需要编写自己的自定义 NSArchiver 吗?如果是这样,我该怎么做?有教程吗?
附言我确实意识到 Core Data 可以做到这一点,但让我暂时取消该选项。
【问题讨论】:
如果需要,您可以使用+archivedDataWithRootObject: 归档到NSData 对象而不是文件。它不会是“字符串”,但这很好,因为 Cocoa 中的 NSString 代表 Unicode 字符序列,而 NSData 代表字节序列(您可以轻松地将其存储在任何您想要的位置,包括数据库)。
请注意,您确实应该使用NSKeyedArchiver:
【讨论】:
NSArchiver,但是有没有办法存档到内存而不是文件?” NSArchiver 用于 Objective-C 对象,而不是 C 结构,这正是该指南所说的。