Полагаю, вы говорите о NSTabView, когда ссылаетесь на "tabbar" или "Tababr" ...
Вам не нужно писать все приложение целиком в одном AppDelegate.
Вы можете добавить свой AppDelegate в качестве делегата вашего NSTabView и затем реализовать tabView:didSelectTabViewItem:
.Это позволяет вам перехватывать запросы пользователя для разных вкладок.Просто создайте выход для вашего вида вкладки и установите делегата:
[[self tabView] setDelegate: self]
На основе запрошенной вкладки вы можете затем создать контроллер представления, связанный с этой вкладкой, и загрузить NSView в выбранную вкладку.Примерно так:
- (void)tabView:(NSTabView *)tabView didSelectTabViewItem:(NSTabViewItem *)tabViewItem {
MyViewController aController = [[MyViewController alloc]
initWithNibName: @"MyView" bundle: [NSBundle mainBundle]];
[tabviewItem setView: [aController view]];
}
Я не уверен, нужно ли вам добавлять NSTabViewDelegate в качестве протокола к вашему AppDelegate, но если Xcode пометит предупреждение, вы заметите:
@interface MyAppDelegate : NSApplicationDelegate <NSTabViewDelegate>
Надеюсьэто помогает.В противном случае вам нужно уточнить ваши требования.