Как удалить предыдущие представления в ViewWillApear? - PullRequest
0 голосов
/ 24 марта 2011

У меня есть TabBarController в приложении, поэтому все элементы панели вкладок загружаются одновременно,

, когда я обновляю данные и возвращаюсь, тогда предыдущие представления все еще там, и над ними добавляются новые представления

что мне делать

моя кодировка находится в ViewWillApear,

У меня нет кода в ViewDidLoad, потому что я хочу видеть данные при их обновлении в базе данных,

и ViewDidLoad вызывается один раз, но ViewWillApear вызывается каждый раз, поэтому каждый раз добавляются новые представления и появляются предыдущие ,,,,

надеюсь, вы понимаете, что я имею в виду ,,,

1 Ответ

0 голосов
/ 24 марта 2011

Вы хотите, чтобы значения отображались в этих представлениях, или вы хотите обновить все представления.

Если вы хотите обновить только значения, сделайте это в viewWillAppear: не нужно создавать и добавлять все представления.снова.Это не очень хорошая практика.

Создавать представления один раз только в loadView или viewDidLoad: метод.и присвойте им значения в viewWillAppear:

или в вашем

-(void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];

    [self removeAllSubviews];

    //OR
    for(UIView * view in self.view.subviews)
    {
            [view removeFromSuperview];
            view = nil;
    }

}
...