Как создать экземпляр подкласса UIViewController из XIB? - PullRequest
1 голос
/ 22 ноября 2011

У меня есть UIViewController с UIView в построителе интерфейса. Я не могу за всю жизнь получить его должным образом.

Я использую:

LoginViewController* myViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil] self.window.rootViewController = myViewController;

Любая помощь? Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 22 ноября 2011

Судя по указанным вами строкам, создание экземпляра выполняется правильно.Вы не забыли добавить вид myViewController в окно?Как это: [self.window addSubView:myViewController.view]

1 голос
/ 22 ноября 2011

Это не должна быть одна строка, как у вас, и вы забываете один шаг;try:

LoginViewController* controller = [[[LoginViewController alloc]
    initWithNibName:@"LoginViewController" bundle:nil] autorelease];

self.window.rootViewController = controller;
[self.window makeKeyAndVisible];

Это автоматически выпущено, так что вам не нужно вручную его отпускать, и эта ссылка на объект будет освобождена, когда он больше не нужен.Кроме того, указание имени пера не является обязательным, если имя пера совпадает с именем контроллера представления, как, по-видимому, в этом случае.Итак, вы могли бы просто сделать:

LoginViewController* controller = [[[LoginViewController alloc] init] autorelease];

self.window.rootViewController = controller;
[self.window makeKeyAndVisible];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...