是否有一些方法/过程如何检查类是否从通用类型继承而没有在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

最佳答案

您可以定义一个协议(例如BClassType),使您的通用类型使用该协议。然后,您可以使用myObject为BClassType来检查是否使用您的通用类型定义了实例。

关于swift - 有一些方法可以检查类是否从泛型类型继承吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42784296/

10-09 03:10