以编程方式创建ViewController和awakeFromNiB?
问题描述:
我正在创建一个viewController以编程方式(希望是正确的方式)我的问题是,我以前在IB中创建了控制器,并有我想在awakeFromNib中调用的代码。正如我目前有事情viewDidLoad工作正常,但awakeFromNib没有。无论如何,要让awakeFromNib打电话或者我可以使用替代方法吗?以编程方式创建ViewController和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
EDIT_001:
我已经几乎走到那使用的viewDidLoad将是我最好的选择,特别是当我想要IBOutlet中初始化实例变量的结论。
欢呼加里
答
为了被调用,awakeFromNib方法必须是无参数的(无发送):
- (void)awakeFromNib {
// Do whatever is needed...
}
小心壳体的,因为没有错误或警告将被记录如果你输错了方法。