CodableModel
public protocol CodableModel : AnyModel, Decodable, Encodable
通用Codable模型协议,默认未实现KeyMappable,使用方式同Codable一致; CodableModel可实现KeyMappable,并选择以下模式使用,推荐方式
KeyMappable模式一:MappedValue模式
- 支持Codable类型字段,使用方式:@MappedValue
- 支持多字段映射,使用方式:@MappedValue(“name1”, “name2”)
- 支持Any类型字段,使用方式:@MappedValue
- 未标记MappedValue的字段将自动忽略,也可代码忽略:@MappedValue(ignored: true)
KeyMappable模式二:MappedValueMacro模式(需引入FWPluginMacros子模块)
- 标记class或struct为自动映射存储属性宏,使用方式:@MappedValueMacro
- 可自定义字段映射规则,使用方式:@MappedValue(“name1”, “name2”)
- 以下划线开头或结尾的字段将自动忽略,也可代码忽略:@MappedValue(ignored: true)
KeyMappable模式三:自定义模式
- 需完整实现Codable协议的encode和decode协议方法
-
hashString
Extension method获取对象的内存hash字符串
Declaration
Swift
public var hashString: String { get }