Я сделал так, чтобы они общались друг с другом через AppDelegate.
Например:
View1 будет иметь функцию, которая:
MyAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
[appDelegate myFunction];
MyAppDelegate имеет функцию myFunction, которая либо что-то делает, либо вызывает:
[viewController myViewFunction];
Я настроил довольно симпатичную систему для загрузки нескольких видов (и перемещения назад и вперед, как если бы это были разные экраны). Я просто не удосужился написать это и опубликовать на pushplay.net - но я постараюсь сделать это в ближайшие пару дней ...
===
РЕДАКТИРОВАТЬ: Хорошо, я опубликовал, что у меня есть. Любые комментарии будут оценены.
http://pushplay.net/blog_detail.php?id=27
Я понимаю, что говорят комментаторы ниже, но мне еще предстоит увидеть пример, который работает без сбоев, основанный на наличии нескольких контроллеров представления, нуждающихся в навигации между собой.