【问题标题】:Cocoa bindings values not updating until end of processCocoa 绑定值直到进程结束才更新
【发布时间】:2011-06-13 22:32:30
【问题描述】:

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

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

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

【问题讨论】:

标签: objective-c cocoa cocoa-bindings nstextfield


【解决方案1】:

为什么 UI 不随每个更新 状态值的变化?

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多