是否有一些方法/过程如何检查类是否继承自泛型类型而没有在swift中指定完全通用类型?
以下是一个例子:
class AClass {
}
class BClass<T: UIView>: AClass {
var a:T?
}
let myClass: AClass = BClass<UIImageView>()
myClass is BClass // false!
myClass is BClass<UIView> // false!
myClass is BClass<UIImageView> // true
我想检查myClass是否为BClass
的类型并且可以访问a
属性(而不仅仅是检查镜像类型)。
Mirror(reflecting: myClass).subjectType //BClass<UIImageView>.Type
答案 0 :(得分:0)
您可以使用协议(例如BClassType),使您的泛型类型使用协议。然后,您可以使用myObject is BClassType来检查是否使用您的泛型类型定义了实例。