2013-03-04 76 views
0

來自氣象站的數據被保存到數據庫中。我只對實時數據感興趣.Throug Web服務我擁有XML格式的這些數據。這些值每30秒更新一次。 我想讓用戶可以隨時用updateButton刷新值。更新視圖 - 這是一個適用於tabbarapplication的正確方法嗎?

我做了類似下面的方法:

- (IBAction)buttonUpdate:(id)sender { 

    [self viewDidLoad]; 
} 

這是工作,但迄今爲止,這是正確的方式?蘋果是否允許這樣的方式?

什麼是最好的方法?

謝謝。

回答

2

重新使用viewDidLoad不是一個好方法。這裏是你應該做的:

以加載這樣的天氣到視圖代碼,並從viewDidLoad刪除它,並把它弄成

-(void)loadWeatherView { 
    //Code Here 
} 

然後,在viewDidLoad,使用[self loadWeatherView];更新視圖當應用程序第一次加載它的視圖。

然後換buttonUpdate到:

- (IBAction)buttonUpdate:(id)sender { 

    [self loadWeatherView]; 
} 

使用viewDidLoad可能不會造成問題,但通常你想要做更多的優質內存加載那裏,不會得到改變非常頻繁。無論如何,每當視圖加載時都會調用它,所以不斷從代碼中調用它並不是最好的主意。現在在這種情況下,它可能不是非常重要,但作爲一種習慣,我喜歡儘可能少地將實際代碼放入viewDidLoad,而只需調用viewDidLoad中的方法,這樣您就可以訪問像加載單獨的東西我上面提供。

這使得它可以更新一件事,而不是重新加載不需要重新加載的東西。

希望這會有所幫助!

1

調用「viewDidLoad」方法是不好的風格。你應該創建一個新的方法[self updateData]並調用它。將所有與更新相關的功能放在那裏,它應該會更好。

相關問題