3

アプリがアクティブになったときに、UIApplicationDidBecomeActiveNotification を使用してテーブルビューを更新しています。私の問題は、ViewWillAppear で、このテーブルのデータを更新するメソッドも呼び出していることです。

これにより、アプリケーションの起動時にテーブルが 2 回更新されます。アプリが最初に起動されたときにそれらの1つを起動しないようにするにはどうすればよいですか? テーブルを更新すると、ネットワーク データとローカル データが集中的に処理されます。そのため、この操作は 1 回だけ実行してください。

ありがとう。

4

2 に答える 2

6

UIApplicationDidBecomeActiveNotificationの代わりにUIApplicationWillEnterForegroundNotificationを使用する必要があります。

後者は、アプリがアクティブになるたびに投稿されます (最初の起動、通話/SMS の中断後にアプリに戻るなど)。ただし、前者はバックグラウンドから復帰した場合にのみ投稿されます。この場合、viewWillAppearは呼び出されないことに注意してください (一見したところそうであるように見えます)。

于 2014-01-14T07:44:07.960 に答える
0

これを行う 1 つの方法は、 で設定できるフラグを使用することですdidFinishLaunching。これは、起動ごとに 1 回しか実行されないためです。

于 2012-02-05T16:39:28.290 に答える