Использование в качестве конкретного типа, соответствующего протоколу 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
, тоже. Как обойти это?