Вы должны прочитать о парадигме Model-View-Controller (MVC) и о том, как в нее вписываются делегаты.Хорошим источником будет документ Apple по этому вопросу, а также большинство начинающих книг по разработке для iPhone.Я бы предложил этот , и хорошее начальное место для MVC - здесь .
Чтобы ответить на ваш конкретный вопрос, вы хотите, чтобы ваш AppDelegate
реализовал протокол UITabBarControllerDelegate
", когда вы хотите улучшить поведение панели вкладок. В частности, вы можете использовать его, чтобы определить, являются ли конкретные вкладкидолжен быть выбран для выполнения действий после выбора вкладки или для выполнения действий до или после того, как пользователь настраивает порядок вкладок. После реализации этих методов в пользовательском объекте вы должны затем назначить этот объект свойству делегата объекта.соответствующий объект UITabBarController. "(Из документа Apple Class Class здесь .
Упрощенно, вы используете его, когда хотите сделать что-то особенное / специфическое, когда viewController выбран на панели вкладок (– tabBarController:didSelectViewController:)
или будетbe (– tabBarController:shouldSelectViewController:)
). Это также может быть использовано для настройки viewControllers, отображаемых на панели вкладок, если вам нужно отображать больше, чем разрешено одновременно (используя «More ...» или любую другую вкладку).