Если у меня есть это расширение:
extension UIResponder {
var parentViewController: UIViewController? {
return (self.next as? UIViewController) ?? self.next?.parentViewController
}
}
И вот это:
extension UIView {
var getParentViewController: UIViewController? {
var parentResponder: UIResponder? = self
while parentResponder != nil {
parentResponder = parentResponder!.next
if let viewController = parentResponder as? UIViewController {
return viewController
}
}
return nil
}
}
Если у меня есть такой класс:
class MyClass: UIView {
init() {
print("\( parentViewController == nil )")
print("\( getParentViewController == nil )")
}
}
Оба результатаимеют значение null.
Как я могу получить реализованный ViewController
из моего UIView
без передачи его в качестве параметра (непосредственно из view
)?