У меня есть протокол Codable и класс Codable:
public protocol SourceListItem: AnyObject, Codable
{
var name: String { get set }
var children: [SourceListItem] { get set }
}
final public class SourceListHeader: Codable
{
var name: String = "Give me a name!"
var children: [SourceListItem] = [SourceListItem]()
}
Однако компилятор дал мне две ошибки:
Type 'SourceListHeader' does not conform to protocol 'Decodable'
Type 'SourceListHeader' does not conform to protocol 'Codable'
Это почему? Не могу исправить ошибку, перепробовал множество вариантов ...
Кажется, проблема связана с протоколом, потому что, если я его удалю, все будет работать нормально. Это похоже на то, что компилятор не видит, что протокол применяется только к классам Codable.