[英]XCode 4.5 iOS6 failure to instantiate view controller
我将设备升级到了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];
}
在情节提要中
我已经将“ Storyboard ID”(这是新的)和“ Title”都设置为ViewController_Album。 所以它应该工作! 但是,我看到[self.viewAlbum initializeView]没有被调用(因为我尝试使用此方法中的print语句,但均未打印)。 因此应该是因为viewAlbum没有被实例化! 为什么? 但是,这适用于应用程序中的其他几个页面(我使用相同的代码实例化它们,并且即使在升级后也能正常工作!)
请帮忙。
我找到了问题; 看起来甚至在AppDelegate的'didfinishLaunchingWithOptions'完成之前就已经调用了主页的viewDidLoad! 因此,我在didfinishLaunchingWithOptions中进行了情节提要板初始化,所以它不起作用! 现在,我将代码移到viewWillAppear()上。 现在,它工作正常!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.