Использование в качестве конкретного типа, соответствующего протоколу AnyObject, не поддерживается

Я использую Swift 2 и использую WeakContainer как способ хранения набора слабых объектов, очень похоже наNSHashTable.weakObjectsHashTable()

struct WeakContainer<T: AnyObject> {
    weak var value: T?
}

public protocol MyDelegate : AnyObject {

}

Затем в моем ViewController я объявляю

public var delegates = [WeakContainer<MyDelegate>]

Но это ошибка

Использование MyDelegate в качестве конкретного типа, соответствующего протоколу AnyObject, не поддерживается

Я вижу, что ошибка в том, чтоWeakContainer имеетvalue участник объявлен какweak, такT как ожидается, будет объектом. Но я также заявляюMyDelegate какAnyObject, тоже. Как обойти это?

Ответы на вопрос(6)

Ваш ответ на вопрос