Ошибка XCode 4.5 iOS6 для создания экземпляра контроллера представления

Я обновил свое устройство до iOS 6, поэтому мне пришлось обновить XCode с 4.3.3 до 4.5.2, и теперь мое приложение не будет работать, тогда как раньше оно работало очень хорошо (т.е. до обновления). Проблема в том, что представление не создается. Эта строка не выполняется:

in Home.h
#import "ViewController_Album.h"
...
@class ViewController_Album;
...
@interface Home
...
@property (nonatomic, retain) ViewController_Album *viewAlbum;
...



in Home.m

@synthesize viewAlbum;
...
...
    - (void)viewDidLoad {
        self.viewAlbum = (ViewController_Album *) [((com_AppDelegate *) [[UIApplication sharedApplication] delegate]).storyboard instantiateViewControllerWithIdentifier:@"ViewController_Album"];
        NSLog(@"call album.initview");
        [self.viewAlbum initializeView];

    }

И в раскадровке

введите здесь описание изображениявведите здесь описание изображения

Я установил как «Идентификатор раскадровки» (который является новым), так и «Заголовок» для ViewController_Album. Так что это должно работать! Однако я вижу, что [self.viewAlbum initializeView] не вызывается (поскольку я пытался использовать операторы печати в этом методе, и ни один из них не печатается). Так и должно быть, потому что viewAlbum не создается! Почему это? Однако это работает для нескольких других страниц в приложении (я использую тот же код для их создания, и они работают нормально даже после обновления!)

Пожалуйста помоги.


person Jean    schedule 23.11.2012    source источник
comment
Убедитесь, что [[UIApplication sharedApplication] делегата]).storyboard не равен нулю.   -  person Rahul Wakade    schedule 24.11.2012


Ответы (1)


Я нашел проблему; похоже, что viewDidLoad домашней страницы вызывался еще до того, как «didfinishLaunchingWithOptions» AppDelegate был завершен! Итак, у меня была инициализация раскадровки в didfinishLaunchingWithOptions, и это не сработало! Теперь вместо этого я переместил свой код в viewWillAppear(). Теперь он работает нормально!

person Jean    schedule 23.11.2012