Я хочу пройти через цепочку респондента, чтобы найти первого респондента, который имеет тип UIPageViewController
. Я написал расширение для UIResponder
, но оно всегда возвращает ноль, хотя, когда я печатаю цепочку респондента другой функцией, она правильно печатает, что UIPageViewController
на самом деле находится в цепочке респондента
extension UIResponder {
func printResponderChain(starting responder: UIResponder?) {
guard let responder = responder else { return }
print(responder)
printResponderChain(starting: responder.next)
}
func firstResponder<T: UIResponder>(starting responder: UIResponder?) -> T? {
guard let responder = responder else { return nil }
if let t = responder as? T {
return t
}
return firstResponder(starting: responder.next)
}
}
Я звонювышеуказанные функции из UIViewController
, которые управляются UIPageViewController