0

アプリに TabBarController があるので、すべてのタブ バー アイテムが同時に読み込まれます。

データを更新して戻ってくると、以前のビューがまだそこにあり、新しいビューがそれらの上に追加されます

私は何をすべきか

私のコーディングはViewWillApearにあり、

データベースでデータを更新するときにデータを表示したいので、ViewDidLoad にコードを書いていません。

ViewDidLoad は 1 回呼び出されますが、ViewWillApear は毎回呼び出されるため、新しいビューが追加され、以前のビューが追加されるたびに、、、、

私の言いたいことを理解していただければ幸いです,,,

4

1 に答える 1

0

これらのビューによって表示される値が必要な場合、またはすべてのビューを更新する必要がある場合。

値のみを更新する場合は、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;
    }

}
于 2011-03-24T11:03:51.497 に答える