Apple предоставила шаблон наблюдателя в библиотеке Какао, который называется NSNotificationCenter.
Основная идея заключается в том, что слушатель регистрируется вещателем, используя некоторый предопределенный протокол. В более поздний момент вещателю говорят уведомить всех своих слушателей, где он вызывает некоторую функцию для каждого из своих слушателей и передает определенные аргументы. Это позволяет выполнять асинхронную передачу сообщений между двумя различными объектами, которые не должны знать друг о друге, они просто должны знать о вещателе.
Подробнее об этом можно прочитать здесь: http://numbergrinder.com/node/32
Делегат приложения - это объект, который получает уведомления, когда объект UIApplication достигает определенных состояний. Во многих отношениях это специализированный паттерн Observer.
Подробнее об этом можно прочитать здесь: Для чего нужен AppDelegate и как узнать, когда его использовать?