Я следовал примеру из «Начала разработки для iPhone 3», который помещает код для контроллера основного вида, панели вкладок, в метод делегата. Это правильное место, чтобы поместить это или это должно быть в отдельном файле .h и .m? Все мои подпредставления находятся в отдельных файлах, поэтому мне интересно, должен ли я иметь код контроллера представления панели вкладок в отдельном файле.
Кроме того, для подпредставлений я вызываю ViewDidLoad как обычно, но в методе делегата нет ViewDidLoad, я думаю, потому что он имеет тип NSObject, а не UIViewController. Должен ли я изменить делегата на тип UIViewController, чтобы я мог вызвать ViewDidLoad?
Спасибо, примеры кода моего существующего приложения приведены ниже.
Заголовочный файл для делегата:
#import <UIKit/UIKit.h>
@interface MyAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate> {
UIWindow *window;
UITabBarController *rootController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *rootController;
@end
Начало реализации файла делегата
#import "MyAppDelegate.h"
@implementation MyAppDelegate
@synthesize window;
@synthesize rootController;
- (void)applicationDidFinishLaunching:(UIApplication *)application {
// Add the tab bar controller's current view as a subview of the window
[window addSubview:rootController.view];
[window makeKeyAndVisible];
}