问题是List类型不符合Codable,下面的类不能插入Realm.
例如,
class Book: Codable {
var name: String = ""
var author: String = ""
var tags = [String]()
}
Run Code Online (Sandbox Code Playgroud)
考虑上面的类符合Codable,如果将此类存储到Realm,则需要使用List<Object>类型而不是[String]
class Book: Object, Codable {
@objc dynamic var name: String = ""
@objc dynamic var author: String = ""
var tags = List<Tag>()
required convenience init(from decoder: Decoder) throws {
self.init()
let container = try decoder.container(keyedBy: CodingKeys.self)
name = try container.decode(String.self, forKey: .name)
author = try container.decode(String.self, forKey: .author)
tags = try container.decode(List<Tag>.self, forKey: .tags) …Run Code Online (Sandbox Code Playgroud)