Cocoa绑定值直到进程结束才更新

时间:2011-06-13 22:32:31

标签: objective-c cocoa cocoa-bindings nstextfield

我有一个NSTextField标签,其值已绑定到controller.status

当我调用使用[controller someFunction]更新状态的函数[self setStatus:@"Something"];时,UI在流程完成之前不会反映更改。状态已成功更改,但我使用文本字段作为用户的状态,因此其值将在函数结束前多次更改。

为什么UI不会随着状态值的每次更改而更新?它仅在流程结束时显示状态。

1 个答案:

答案 0 :(得分:1)

  

为什么UI不会随每个更新   改变状态值?

因为显示仅作为运行循环的一部分进行更新。 Here's a very similar question刚才问过。

如果你有一个漫长的过程,你应该将它移动到一个操作或后台线程,这样你就不会阻塞主线程。阻止主线程会导致应用程序看起来没有响应。