我对 iOS 开发有些陌生,并且遇到了线程问题。我正在调用一个返回 json 数据的 Web 服务,并且执行此操作的代码按预期工作。对于测试,我希望能够单击一个按钮,检索数据并使用格式化结果填充 textview 控件。这是我从按钮单击事件处理程序中摘录的代码:
dispatch_queue_t que = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(que, ^{
thisRiverGauge = [[RiverGauge alloc] initWithStationInfo:gauge forHistoryInHours:5 inThisFormat:@"json"];
[txtResults setText:rval];
});
尝试从线程内更新 textview (txtResults) 时,出现运行时错误。当我将更新放在线程之外的 textview 时,显然它不会更新,因为线程完成所需的时间比事件处理程序的执行要长。什么可能是解决这个问题?
谢谢!