我有一个NSTextField
其值绑定(bind)到 controller.status
的标签
当我调用函数时[controller someFunction]
将状态更新为 [self setStatus:@"Something"];
在该过程完成之前,UI 不会反射(reflect)更改。状态已成功更改,但我使用文本字段作为用户的状态,因此其值在函数结束之前将更改多次。
为什么 UI 不随着状态值的每次更改而更新?它仅在流程结束时显示当时的状态。
最佳答案
Why does the UI not update with each change of the status value?
因为显示仅作为运行循环的一部分进行更新。 Here's a very similar question刚才问过。
如果您有一个冗长的进程,您应该将其移至操作或后台线程,这样就不会阻塞主线程。阻塞主线程会导致您的应用程序看起来没有响应。
关于objective-c - Cocoa 绑定(bind)值直到进程结束才更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6337195/