是否有一些方法/过程如何检查类是否从泛型类型继承而无需在 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
最佳答案
您可以定义一个协议(protocol)(例如 BClassType),让您的泛型类型使用该协议(protocol)。然后,您可以使用 myObject is BClassType 来检查实例是否是使用您的泛型类型定义的。
关于swift - 有没有一些方法可以检查类是否是从泛型类型继承的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42784296/