气象站的数据保存在数据库中。我只对实时数据感兴趣.Throug web服务我有这些XML格式的数据。这些值每30秒更新一次。 我想让用户可以随时使用updateButton刷新值。
我做了如下方法:
- (IBAction)buttonUpdate:(id)sender {
[self viewDidLoad];
}
它到目前为止工作但是这是正确的方法吗? Apple允许这样的方式吗?
最好的方法是什么?
感谢。
答案 0 :(得分:2)
重复使用viewDidLoad
不是一个好方法。这是你应该做的:
将加载此天气的代码放入视图中,然后将其从viewDidLoad
中删除,并将其置于
-(void)loadWeatherView {
//Code Here
}
然后,在viewDidLoad
中,使用[self loadWeatherView];
在应用首次加载视图时更新视图。
然后将buttonUpdate更改为:
- (IBAction)buttonUpdate:(id)sender {
[self loadWeatherView];
}
使用viewDidLoad
可能不会导致问题,但通常您希望在那里进行更多高内存加载,不会经常更改。每次视图加载时都会调用它,因此不断地从代码中调用它不是最好的主意。现在在这种情况下它可能不是非常重要,但作为一种习惯,我喜欢尽可能少地将实际代码放入viewDidLoad
,而只是从viewDidLoad
调用方法,这样你可以加载我上面提供的各种东西。
这使得你可以更新一件事而不是重新加载不需要重新加载的东西。
希望这有帮助!
答案 1 :(得分:1)
调用“viewDidLoad”方法是不好的方式。您应该创建一个新方法[self updateData]并调用它。将所有与更新相关的功能放在那里,它应该更好。