我正在尝试镜像
这个类:
final class DeckPresentationController {
...
}
由 DeckTransition
CocoaPod 定义, 所以我可以改变一些 var,但是镜子没有向我反射(reflect)任何东西:
import DeckTransition
let mirror = Mirror(reflecting: DeckPresentationController())
print("children: \(mirror.children.first)")
print("count: \(mirror.children.count) ")
给出了这个编译错误:
unresolved identifier DeckPresentationController
有什么想法吗?
最佳答案
您正在尝试访问在外部 模块中声明的内部
类。因此,使用 Mirror
也不会让你到达那里——你不能像那样使用反射来破解 Swift 访问控制 ;)
作为快速破解,更改 class declaration来自:
final class DeckPresentationController
到:
open class DeckPresentationController
然后直接访问/覆盖所需的属性——忘记你的那个 hack-ish Mirror
;)
顺便说一下,如果您的编辑也可能对其他人有用,请考虑向 CocoaPod 的原始作者提交拉取请求。
关于ios - 如何使用镜像访问外部定义的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44546747/