2013-03-26 88 views
0

我需要每2分钟调用一次Rest Api来更新View中的数据。什么是最好的解决方案。每2分钟提取一次数据

我所做的是使用NSTimer以异步方式调用iOS中的Web服务函数并更新视图中的数据。有没有更好的解决方案,我可以遵循。

+0

您也可以尝试与延迟进行选择:https://developer.apple.com/库/ MAC /#文档/可可/参考/基金/班/ NSObject_Class /参考/的reference.html – Thaven 2013-03-26 13:37:01

回答

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