我需要在通用基类中传递一个类型。
class SomeBaseClass<T: AnyClass> {
// Implementation Goes here
}
我收到以下错误:
理想情况下,我想使用“T”作为特定类型而不是AnyClass,但是AnyClass也可以。
谢谢
最佳答案
如果希望类型为类,则应使用AnyObject
。
class SomeBaseClass<T: AnyObject> {
// Implementation Goes here
}
// Legal because UIViewController is a class
let o1 = SomeBaseClass<UIViewController>()
// Illegal (won't compile) because String is a struct
let o2 = SomeBaseClass<String>()