开发者

Programmatically created ViewController and awakeFromNiB?

开发者 https://www.devze.com 2023-01-02 13:57 出处:网络
I am creating a viewController programmatically (hopefully the right way) My problem is that I previously created the controller in IB and have code I want to call in awakeFromNib. As I currently have

I am creating a viewController programmatically (hopefully the right way) My problem is that I previously created the controller in IB and have code I want to call in awakeFromNib. As I currently have things viewDidLoad works fine but awakeFromNib does not. Is there anyway to get awakeFromNib to call or an alternative method that I can use in its place?

@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:

I have pretty much come to the conclusion that using viewDidLoad is going to be my best option, particularly as I want to initialise IBOutlet instance variables.


In order to be called, the awakeFromNib method must be parameter-less (no sender):

- (void)awakeFromNib {
    // Do whatever is needed...
}

Take care of the casing, as no error or warning will be logged if you mistype the method.

0

精彩评论

暂无评论...
验证码 换一张
取 消