我遇到了ViewDidLoad方法的问题。我的应用程序中有一个.Xib文件和5个viewControlelr.And每个View Controller包含一些初始化和方法调用。
问题出在启动时,所有ViewDidLoad方法都会运行。
当我的ViewController被调用并且屏幕上的View被加载时,有什么方法可以做到这一点吗?
在这种情况下,正确的方法是什么?
我试过这段代码:
-(void)viewDidAppear
{
[ScoreWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://smwebtech.com/Pandit/web_service/getScore.php?u=aa"]]];
}
但是我的程序没有达到这种方法。为什么?我错过了什么?请看看。
答案 0 :(得分:1)
请改用viewWillAppear
方法。只有当视图出现在屏幕上时才会调用它。
或viewDidAppear
仅在视图显示在屏幕上后才会调用。
编辑:
viewWillAppear
和viewDidAppear
分别采用BOOL参数:
- (void)viewWillAppear:(BOOL)animated {
}
- (void)viewDidAppear:(BOOL)animated {
}
EDIT2:
这两个委托方法有相应的“相反”方法,您可以覆盖它们以释放您在前一种方法中分配的资源:
- (void)viewWillDisappear:(BOOL)animated {
[resource release];
[super viewWillDisappear:animated];
}
- (void)viewDidDisappear:(BOOL)animated {
[resource release];
[super viewDidDisappear:animated];
}