Swift: нельзя использовать протокол, который принимает идентифицируемый - PullRequest
0 голосов
/ 07 мая 2020

Я изо всех сил пытаюсь заставить этот фрагмент кода работать правильно:

protocol FileModelType: Identifiable {
    var id: ID { get set }
    var content: Data? { get set }
}

class Test: FileModelType {
    var id: Int = 0
    var content: Data? = nil
}

func test() {
    var models: [FileModelType] = [Test]()
}

Я столкнулся с известной ошибкой: Protocol 'FileModelType' can only be used as a generic constraint because it has Self or associated type requirements

Мне нужно определить массив FileModelType объектов, но не знаете, как это сделать в данном контексте?

1 Ответ

0 голосов
/ 07 мая 2020

Мне нужно определить массив объектов FileModelType, но я не знаю, как это сделать в этом контексте?

Это не связано с контекстом. Быстрый язык НЕ позволяет это.

Вы можете использовать

func test() {
    var models = [Test]()
}
...