我正在以编程方式创建一个viewController(希望是正确的方法)我的问题是我之前在IB中创建了控制器并且我想要在awakeFromNib中调用代码。因为我目前有事情viewDidLoad工作正常,但awakeFromNib没有。反正有没有让awakeFromNib来调用或替代方法,我可以使用它?
@class MyViewController;
@interface TEST_ControllerAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
MyViewController *viewController;
}
@property(nonatomic, retain) IBOutlet UIWindow *window;
@end
@implementation TEST_ControllerAppDelegate
@synthesize window;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
viewController = [[MyViewController alloc] init];
[window addSubview:[viewController view]];
[window makeKeyAndVisible];
return YES;
}
- (void)dealloc {
[viewController release];
[window release];
[super dealloc];
}
@end
我几乎得出结论,使用viewDidLoad将是我的最佳选择,特别是因为我想初始化IBOutlet实例变量。
答案 0 :(得分:1)
要调用,awakeFromNib方法必须是无参数(无发件人):
- (void)awakeFromNib {
// Do whatever is needed...
}
请注意外壳,因为如果您输错方法,则不会记录任何错误或警告。