0

受信トレイ、連絡先、設定の 3 つのタブを持つアプリケーションがあります。

受信トレイには、他のユーザーからのメッセージのリストがあり、関数を使用してメッセージを更新しますreloadTableViewDataSource。アプリケーションがフォアグラウンドに入ると、メッセージをリロードまたは更新する必要があります。

これを実現するために、appdelegate で次のコードを指定しました。

- (void)applicationWillEnterForeground:(UIApplication *)application {
    application.applicationIconBadgeNumber=0;
    Inbox *inbox=[[Inbox alloc]init];
    inbox.userid=self.usermail; 
    inbox.password=self.password;
    inbox.loggedInUserId=self.loggedinUserId;
    [inbox reloadTableViewDataSource];

}

更新に関するメッセージが表示されているため、更新されたメソッドが呼び出されたようですがnslog、受信トレイのビューコントローラーで実際には何も起こっていません。新しいメッセージが更新されていません。これを行う正しい方法は何ですか?

4

1 に答える 1

2

新しい Inbox オブジェクトを作成し、そのコンテンツを更新しているように思えます。しかし、本当に必要なのは、現在表示されている Inbox オブジェクトのデータを更新することです。

したがって、ViewController で使用される Inbox オブジェクトへの参照を保持する必要があります。そして、その参照で reloadTableViewDataSource を呼び出します。

それが問題であることを願っています...

于 2011-04-13T08:59:10.090 に答える