0

気象観測所からのデータはデータベースに保存されます。私はライブデータにのみ興味があります.Webサービスを介して、これらのデータをXML形式で持っています。これらの値は 30 秒ごとに更新されます。ユーザーが必要なときにいつでも updateButton で値を更新できるようにしたいと考えています。

私は以下のような方法を作りました:

- (IBAction)buttonUpdate:(id)sender {

    [self viewDidLoad];
}

これまでのところうまくいっていますが、これは正しい方法ですか?Appleはそのような方法を許可していますか?

最善のアプローチは何ですか?

ありがとう。

4

2 に答える 2

2

再利用viewDidLoadは良い方法ではありません。これがあなたがすべきことです:

この天気をビューにロードするコードを取得し、それを削除しviewDidLoadて次のような場所に配置します

-(void)loadWeatherView {
    //Code Here
}

次に、 で、アプリが最初にそのビューをロードしたときにビューを更新するためviewDidLoadに使用します。[self loadWeatherView];

次に、buttonUpdate を次のように変更します。

- (IBAction)buttonUpdate:(id)sender {

    [self loadWeatherView];
}

を使用しviewDidLoadても問題が発生しない場合がありますが、通常、頻繁に変更されることのない、より多くのメモリをロードする必要があります。とにかくビューが読み込まれるたびに呼び出されるため、コードから常に呼び出すことは最善の考えではありません。この場合、それはおそらくそれほど重要ではありませんが、習慣として、実際のコードをできるだけ少なくしviewDidLoad、代わりに からメソッドを呼び出すのがviewDidLoad好きです。そうすれば、私が提供したような個々のものをロードすることができます。その上。

これにより、再読み込みを必要としないものを再読み込みする代わりに、1 つのものを更新できるようになります。

お役に立てれば!

于 2013-03-04T17:06:43.060 に答える
1

「viewDidLoad」メソッドを呼び出すのは悪いスタイルです。新しいメソッド [self updateData] を作成し、代わりにそれを呼び出す必要があります。そこに更新自体に関連するすべての機能を配置すると、より適切に機能するはずです。

于 2013-03-04T17:07:07.630 に答える