【发布时间】:2010-02-14 23:13:02
【问题描述】:
我遵循了“开始 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];
}
【问题讨论】:
标签: iphone cocoa-touch delegates uitabbarcontroller