4

reloadDataユーザーがアプリケーションを終了した後、アプリが再びアクティブになったら、UITableView を使用したいと思います。私は実装する必要があることを知っています(私のアプリデリゲートで):

- (void)applicationDidBecomeActive:(UIApplication *)application

しかし、現在の UITableView を参照する方法がわかりませんか?

更新: 私の UITableView は別のコントローラーです。実際には次のように表示されます

AppDelegate > Root View Controller > Pushes UITabBarController modally which has a UITableViewController
4

3 に答える 3

30

上記のOleの回答をフォローアップする

ビューコントローラーを初期化するときにこれを追加します

[[NSNotificationCenter defaultCenter] addObserver:self 
    selector:@selector(becomeActive:)
    name:UIApplicationDidBecomeActiveNotification
    object:nil];

コントローラーに実際のメソッドを追加する

- (void)becomeActive:(NSNotification *)notification {
    NSLog(@"becoming active");
}

必ず通知をクリーンアップしてください

- (void)dealloc {
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    [super dealloc];
}
于 2010-07-21T15:58:31.540 に答える
3

アプリ デリゲートからビュー コントローラーにアクセスできない場合は、コントローラーにUIApplicationDidBecomeActiveNotification通知をリッスンさせることもできます。

于 2010-07-21T15:31:34.613 に答える
0

という名前のクラスを作成できますTableViewManager。の登録リストにあるUITableViewので、必要なテーブルを更新できます。このようなものです。TableViewManagerクラスには、と呼ばれるメソッドがあります

- (void)RefreshTableView:(UITableView *)tableView {
if(tableView != nil)
    [tableView reloadData]; }
于 2010-07-21T15:41:19.103 に答える