为什么我的界面对象无序响应?

时间:2011-09-03 15:16:27

标签: objective-c

我点击按钮时有一个IBAction:

- (IBAction)importButtonClicked:(id)sender 

我想要举办一系列活动,如:

[_progressLabel becomeFirstResponder]; // I tried this but to no effect
_progressLabel.stringValue = BEGIN_IMPORT_STRING;
[_importButton setEnabled:FALSE];
_fileField.stringValue = @"";
[_progressIndicator startAnimation:nil]; 

但最终发生的是_progressIndicator动画发生在_progressLabel文本出现之前。通常情况下,文本不会显示_progressIndicator动画已停止。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

在单独的线程上放置你正在做的工作需要花费时间(我假设这是进度指示器的用途)。您不必在Cocoa中手动执行此操作,而是使用Grand Central Dispatch(GCD),NSOperationQueue或此类构造。你会在GCD上找到很多资源。