每2分钟提取一次数据
问题描述:
我需要每2分钟调用一次Rest Api来更新View中的数据。什么是最好的解决方案。每2分钟提取一次数据
我所做的是使用NSTimer
以异步方式调用iOS
中的Web服务函数并更新视图中的数据。有没有更好的解决方案,我可以遵循。
答
你可以尝试这样的事情与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
您也可以尝试与延迟进行选择:https://developer.apple.com/库/ MAC /#文档/可可/参考/基金/班/ NSObject_Class /参考/的reference.html – Thaven 2013-03-26 13:37:01