NSCoding
(и Codable
, который, я думаю, вы должны использовать вместо этого) - это протокол, поэтому вы ничего не переопределяете, поэтому удалите override
и все вызовы super
public func encode(with coder: NSCoder) {
coder.encode(title as Any?, forKey: "title")
coder.encode(children as Any?, forKey: "children")
}
required public init?(coder decoder: NSCoder) {
self.title = decoder.decodeObject(forKey: "title") as? String ?? ""
self.children = decoder.decodeObject(forKey: "children") as? [Foo] ?? []
}