我需要每隔2分钟调用一次Rest Api来更新视图中的数据。这样做的最佳解决方案是什么。
我所做的是使用NSTimer
异步调用iOS
中的Web服务函数并更新视图中的数据。是否有更好的解决方案,我可以遵循。
答案 0 :(得分:1)
您可以尝试使用GCD:
- (void)updateData{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
// Fetch data on a background thread:
NSURL *url = ...;
NSString *contents = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
if (contents) {
NSMutableArray *array= [NSMutableArray new];
//..do your stuff here
dispatch_sync(dispatch_get_main_queue(), ^{
// Update data array and reload your view.
//if it is table reload it, if it is view refresh it
});
}
});
}
使用dispatch_source_set_timer
,请检查此GCD: How to change timer fire interval