每2分钟获取一次数据

时间:2013-03-26 13:32:09

标签: objective-c

我需要每隔2分钟调用一次Rest Api来更新视图中的数据。这样做的最佳解决方案是什么。

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

1 个答案:

答案 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