Мы хотим, чтобы A знал, когда был представлен C.
A -> B -> C
Вы можете использовать метод делегата для взаимодействия с родительскими VC с отношением один-ко-многим.
protocol BDelegate: class {
func BVCDidPresentCVC(_ BVC: B)
}
class B {
weak var delegate: BDelegate?
func presentCVC() {
delegate?.BVCDidPresentCVC(self)
}
}
extension A: BDelegate {
func BVCDidPresentCVC(_ BVC: B) {
// A knows B presented to C
}
}
Если вы хотите, чтобы отношение «многие ко многим» (многие VCS знают, что C был представлен), используйте уведомления
class A {
func setupNotifications() {
// A.observeNotifcationCVCPresented
}
}
Class B {
func presentCVC() {
//Notification.notifyCVCPresented
}
}