Objective c UIProgressView在后台线程中更新
我必须在主线程上调用函数计算一些东西。当计算过程运行时,我可以调用UIProgressView来更新UI。Objective c UIProgressView在后台线程中更新,objective-c,iphone,multithreading,user-interface,uiview,Objective C,Iphone,Multithreading,User Interface,Uiview,我必须在主线程上调用函数计算一些东西。当计算过程运行时,我可以调用UIProgressView来更新UI。 当我刚刚调用update函数时,它正在工作,但最后更新了UI 我使用performSelectorInBackground调用update函数,它的工作正常 为什么使用性能选择背景可以工作 我已经看到了这一点,但它并没有解释为什么performSelectorInBackground起作用 示例代码 我找到了一些解决办法 : [myObj performSelectorInBackgro
当我刚刚调用update函数时,它正在工作,但最后更新了UI
我使用
performSelectorInBackground
调用update函数,它的工作正常
为什么使用性能选择背景
可以工作
我已经看到了这一点,但它并没有解释为什么performSelectorInBackground
起作用
示例代码我找到了一些解决办法 :
[myObj performSelectorInBackground:@selector(doSomething)with object:nil]
调用此方法的效果与调用NSThread的detachNewThreadSelector:toTarget:withObject:方法(使用当前对象、选择器和参数对象作为参数)相同 BackgroundThread只是更改UI值,更新UI正在主线程上运行 只有NSThrad可以工作 我认为原因是NSHRAD的框架比GCD更简单