viewDidLoad问题

时间:2011-11-01 12:19:29

标签: objective-c ios4

我遇到了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"]]];

     }

但是我的程序没有达到这种方法。为什么?我错过了什么?请看看。

1 个答案:

答案 0 :(得分:1)

请改用viewWillAppear方法。只有当视图出现在屏幕上时才会调用它。

viewDidAppear仅在视图显示在屏幕上后才会调用。

编辑:

viewWillAppearviewDidAppear分别采用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];
}