0

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

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

4

1 回答 1

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

于 2013-03-26T13:37:21.630 回答