我正在尝试Mirror
这个类:
final class DeckPresentationController {
...
}
由 CocoaPod DeckTransition
定义,所以我可以更改一些 var,但镜子没有反映我的任何内容:
import DeckTransition
let mirror = Mirror(reflecting: DeckPresentationController())
print("children: (mirror.children.first)")
print("count: (mirror.children.count) ")
给出以下编译错误:
未解析的标识符 DeckPresentationController
有什么想法怎么做吗?
您正在尝试访问在外部模块中声明的internal
类。因此,使用 Mirror
也不会让你到达那里——你不能像这样使用反射来破解 Swift 访问控制;)
作为快速技巧,将类声明从:
final class DeckPresentationController
自:
open class DeckPresentationController
然后直接访问/覆盖所需的属性 - 并忘记您的黑客式Mirror
;)
顺便说一下,如果你的编辑对其他人也有用,请考虑向原始CocoaPod作者提交拉取请求。