Ayez de la patience avec moi, j'apprends toujours Cocoa Touch. Autre -viewDidLoad n'étant pas appelé question n'était pas lié à mon problème, j'ai fait une recherche.-viewDidLoad n'est pas appelé dans UIViewController sous-classé
J'ai FooViewController
, une sous-classe UIViewController
. FooViewController.xib a son propriétaire de fichiers défini sur FooViewController. De plus, j'ai Main
, dont le délégué de l'application est MyApplication
et dont le propriétaire du fichier est UIApplication
. Ma plume principale est définie sur Principal.
Je suis en mesure de faire le point de vue apparaissent sur l'écran, en utilisant ce flux (code snipped par souci de concision):
UIWindow *main;
-(void)applicationDidFinishLaunching:(UIApplication*)application {
[self showFooViewController];
[main makeKeyAndVisible];
}
-(void)showFooViewController {
fooViewController = [[FooViewController alloc] init];
if(![[NSBundle mainBundle] loadNibNamed:@"FooViewController" owner:fooViewController options:nil]) {
DebugF(@"Failed to load FooViewController");
return;
}
// Add the view and put it in place
UIView *view = [fooViewController view];
CGRect cur = [view frame];
cur.origin = CGPointMake(0.0f, 20.0f);
[view setFrame:cur];
[main addSubview:[fooViewController view]];
}
Cependant, ce message n'est pas envoyé à FooViewController
:
- (void) viewDidLoad {
DebugF(@"Hello!");
}
Silence total dans la sortie de gdb.
J'ai vu d'autres tutoriels Cocoa qui montrent des Instances et autres dans la vue document d'IB, mais je ne vois pas ces options dans les miennes. Suis-je censé instancier fooViewController dans la Nib? Ai-je manqué une connexion? Dans FooViewController.xib, la vue Propriétaire du fichier est connectée à la vue dans la plume.
Je suis sûr que c'est une solution simple, et j'ai erré dans le mauvais chemin. Halp!
Selon la documentation "Vous ne devriez jamais appeler cette méthode [loadView] directement". –
Merci, Peter - Je vois de quoi tu parles. Voici le lien, au cas où quelqu'un voudrait lire la source originale (d'Apple): http://developer.apple.com/iphone/library/documentation/uikit/reference/UIViewController_Class/Reference/Reference.html#// apple_ref/occ/instm/UIViewController/loadView – Tyler
J'ai eu exactement le même problème (en appelant 'loadView' directement), merci pour l'info. –