Ок, возможно для случая VC1 -> VC2 использование делегатов более предпочтительное, тут Я соглашусь)
Но разве использование Notification плохо в случае UITabBarController -> (VC1, VC2, VC3), когда все контроллеры живут и нужно из под третьего что-то изменить на всех остальных?
Для чего нужны тогда Notification?