一种比 NSCoding、属性列表和 JSON 更快速、更灵活的二进制文件格式替代方案
目的----------------------------- FastCoder 是一种用于 Cocoa 对象和对象图形的高性能二进制序列化格式。它旨在取代 NSPropertyList、NSJSONSerializer、NSKeyedArchiver/Unarchiver 和 Core Data。 FastCoder 库的设计目标是要快速、灵活和安全。 FastCoder 在读取时已经比 Cocoa 中的任何内置序列化机制都要快(平均而言),在写入时也比任何机制都要快(除了 JSON 之外,JSON 不支持任意对象类型)。文件大小比 NSKeyedArchiver 小,与其他方法相比相仿。
FastCoder 支持的数据类型比 JSON 或 Plist 编码更多 (包括 NSURL、NSValue、NSSet 和 NSOrderedSet),并且允许所有受支持的对象类型作为字典中的键,而不仅仅是字符串。FastCoder 还可以使用属性检查自动序列化您的自定义类。对于那些无法自动序列化的情况,您可以轻松地使用 FastCoding 或 NSCoding 协议实现自己的序列化。
注: "支持"表示该库已通过此版本的测试。"兼容"表示该库应可在该操作系统版本上运行(即不依赖于任何不可用的 SDK 功能),但不再进行兼容性测试,可能需要进行调整或修复 bug 才能正常运行。
FastCoder 兼容 ARC 和非 ARC 编译目标,但禁用 ARC 后性能更好,建议您在 FastCoder.m 类中添加 -fno-objc-arc 编译标志。为此,请在目标设置中的"构建阶段"选项卡中,打开"编译源代码"组,在列表中双击 FastCoder.m,然后在弹出菜单中输入 -fno-objc-arc。
暂无开放 Issues,或尚未同步最近议题。