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