Swift 4 新的 Codable
协议使得序列化 Swift 对象变得更加简单。内置的 JSONEncoder
和 PlistEncoder
可以编码和解码 JSON 和 plist,但是当你需要使用其他格式时呢?
编写自定义编码器相当复杂,因此 Serializer 为你处理了这个问题。Serializer 将你的 Swift 对象转换为一个简单的 enum
,你可以轻松地遍历并写入你选择的文件格式。
你所要做的就是实现 Serializer
协议并创建一个名为 serialize
的方法,该方法将 Serializable
enum 编码为你的自定义格式。解码是类似的 -- 添加 Deserializer
协议,包含一个 deserialize
方法,该方法将你的自定义格式转换为 Serializable
。 这是一个序列化器和反序列化器的示例,用于 NBT 文件格式。