0

我将我的设备升级到 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];

    }

在故事板中

在此处输入图像描述 在此处输入图像描述

我已将“故事板 ID”(这是新的)和“标题”都设置为 ViewController_Album。所以它应该工作!但是,我看到 [self.viewAlbum initializeView] 没有被调用(因为我尝试在此方法中使用 print 语句并且它们都没有被打印)。所以应该是因为 viewAlbum 没有被实例化!为什么?然而,这适用于应用程序中的其他几个页面(我使用相同的代码来实例化它们,即使升级后它们也能正常工作!)

请帮忙。

4

1 回答 1

0

我发现了问题;看起来主页的 viewDidLoad 甚至在 AppDelegate 的“didfinishLaunchingWithOptions”完成之前就被调用了!所以,我在 didfinishLaunchingWithOptions 中进行了情节提要初始化,所以它不起作用!现在,我将代码移至 viewWillAppear()。现在,它工作正常!

于 2012-11-23T20:05:29.327 回答