У меня есть API, который возвращает массив объектов JSON.Я настроил структуру так, чтобы она выглядела следующим образом:
typealias MyModels = [MyModel]
struct MyModel: Codable {
let field1: String
let field2: String
let mySubModel: SubModel?
enum CodingKeys: String, CodingKey {
case field1 = "Field1"
case field2 = "Field2"
case mySubModel = "MySubModel"
}
}
struct SubModel: Codable {
let subModelField1: String
let subModelField2: String
enum CodingKeys: String, CodingKey {
case subModelField1 = "SubModelField1"
case subModelField2 = "SubModelField2"
}
}
Я хочу добавить это расширение, указав путь var (протокол NetworkModel предоставляет некоторые базовые функции для операций API):
extension MyModels: NetworkModel {
static var path = "the/endpoint/path"
}
У меня нет проблем с другими классами моделей / структур, которые я настраиваю таким образом, когда база является объектом или ключом json.Однако, поскольку этот объект отличается от других и просто является массивом, я получаю эту ошибку, когда помещаю это расширение в класс:
Constrained extension must be declared on the unspecialized generic type 'Array' with constraints specified by a 'where' clause
Я провел некоторое копание и пробовал несколько вещей с предложением whereна расширение, но я просто немного запутался, что он хочет.Я уверен, что это что-то простое, но есть мысли по этому поводу?Если мне нужно пойти по-другому с вышеперечисленными typealias, я в порядке с этим.Заранее спасибо!