简单场景:后台线程是计算要在主线程中实时显示的数据。
数据:在后台线程中转换为NSString类型的动态/变量数据,显示在主线程的UILabel(或NSLabel)中。
我自己的环境:使用Xcode 4 +的iOS 4+(与OS X相关)。
设计:后台线程(通过NSOperation / NSOperationQueue)通过DELEGATION将数据/迭代发送到主(主机)线程。
注意:主线程 *在阅读时间内看到** 此数据(通过NSLog())....
然而,前端UIView(或NSView)实时执行 NOT 更新/迭代。
范例请求:类似于实时数字时钟....勾选,勾选...您会看到更新的秒数。我需要与速度,位置等同上。
我尝试了'setNeedsDisplay
'方法调用; 无效。
问题:在MAIN线程中实时显示的首选方法是什么,在后端线程上计算的数据是什么?
此致 RIC。
我得到了解决方案。 你把它放在NSOperation(背景)例程中:
dispatch_async(dispatch_get_main_queue(), ^ {
myMainThreadViewController.UILabel.text = theData;
});