我正在使用 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