按下按钮后,在Cocoa/Objective C中更新屏幕

rog*_*erl 1 cocoa objective-c

新手目标C/Cocoa问题:我有一个带有一些数据输入字段的应用程序和一个"do it"按钮.按下按钮时,会进行一些计算,输出数据显示在表格视图中,一些文本字段显示在同一窗口中.我想要的是,当按下按钮时,文本字段和表格视图都会在计算发生时被清除.

我已经尝试将相应的调用作为按钮按下的动作例程的前几个语句,但这不起作用.我想,在我的动作例程完成之前,运行时不会被调用来进行屏幕更新.

有没有一种简单的方法可以做我想做的事情?谢谢.

Ano*_*mie 5

你想象得对.

执行此类操作的常用方法是使用NSObject performSelectorInBackground:withObject:来在后台启动繁重的计算.然后,一旦后台代码完成其工作,使用performSelectorOnMainThread:withObject:waitUntilDone:调用主线程上的另一个选择器来更新UI(记住,UI调用可能只能从主线程完成).