class SomeBaseClass<T: AnyClass> { // Implementation Goes here}
我收到以下错误:
inheritance from non-protocol,non-class type ‘AnyClass’ (aka
‘AnyObject.Type’)
理想情况下,我想使用’T’作为特定类型而不是AnyClass,但AnyClass也可以.
谢谢
解决方法 您可以改为:而不是指定T需要成为一个类:class SomeBaseClass<T> { let type: T.Type init(type: T.Type) { self.type = type }}
如果你计划使用T.Type很多,可能值得使用typealias:
class SomeBaseClass<T> { typealias Type = T.Type let type: Type ...}
一些示例用法:
let base = SomeBaseClass(type: String.self)
此方法的优点是T.Type可以表示结构和枚举,以及类.
总结以上是内存溢出为你收集整理的ios – 如何在Swift Generic类中使用AnyClass全部内容,希望文章能够帮你解决ios – 如何在Swift Generic类中使用AnyClass所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)