fuz*_*oat 5 iphone cocoa-touch objective-c
我刚刚遇到了一些我以前从未见过的东西,我想我会在这里要求核实原因.我有一个UIController,他的视图是以编程方式定义的,我今天注意到当我从其loadView中注释掉代码(以测试其他东西)时,loadView和viewDidLoad都被调用了四次.我的想法是因为我没有设置视图属性iOS尝试多次加载视图,虽然我仍然有点好奇,如果这也是为什么viewDidLoad也被调用.
- (void)loadView {
NSLog(@"%s", __PRETTY_FUNCTION__);
// MAP VIEW
// MKMapView *tempMapView = [[MKMapView alloc] init];
// [tempMapView setDelegate:self];
// [self setView:tempMapView];
// [self setCustomMapView:tempMapView];
// [tempMapView release];
}
Run Code Online (Sandbox Code Playgroud)
控制台输出:
2011-02-02 14:10:00.194 Xrails[19501:307] -[MapController loadView]
2011-02-02 14:10:00.209 Xrails[19501:307] -[MapController viewDidLoad]
2011-02-02 14:10:00.212 Xrails[19501:307] -[MapController loadView]
2011-02-02 14:10:00.226 Xrails[19501:307] -[MapController viewDidLoad]
2011-02-02 14:10:00.229 Xrails[19501:307] -[MapController loadView]
2011-02-02 14:10:00.243 Xrails[19501:307] -[MapController viewDidLoad]
2011-02-02 14:10:00.246 Xrails[19501:307] -[MapController loadView]
2011-02-02 14:10:00.259 Xrails[19501:307] -[MapController viewDidLoad]
Run Code Online (Sandbox Code Playgroud)
我认为这里有两点。首先,我认为您的假设是正确的,因为任何调用视图的内容都将返回 nil,因此再次请求视图控制器的视图。这会导致它按照UIViewController 文档中的-loadView
记录进行。-view
至于为什么-viewDidLoad
事后会被调用,即使它还没有加载视图;我想在哪里-loadView
被调用是假设视图已经加载并-viewDidLoad
随后直接调用。
不管怎样,如果你-loadView
自己实现,你最终必须有一个有效的观点。
归档时间: |
|
查看次数: |
3567 次 |
最近记录: |