Swift 2.0对元类型的反思



快速反射在特定类型的实例上工作得很好,但是如果我想打印出特定类的所有实例变量该怎么办?

创建Mirror适用于实例:

Mirror(reflecting: self).children.filter { $0.label != nil }.map { return $0.label! }

但当self是BirdFruit之类的类时,返回的列表为空

我有一个类似的问题,我自己的自定义类在我创建它们的镜像时没有返回子类。按照这个答案的建议,尝试使用superclassMirror()。它解决了我的问题。

例如:

let myMirror = Mirror(reflecting: self).superclassMirror()
myMirror.children.filter { $0.label != nil }.map { return $0.label! }

相关内容

  • 没有找到相关文章

最新更新