我正在使用Cocoa为图形界面制作OS X应用程序。但我的主要算法是用C ++编写的。界面只显示NSTextFields和NSLevelIndicator中算法的一些值。
需要使用算法中的数据实时刷新屏幕。
我所做的是NSThread,它从算法中读取数据并放在屏幕上。但我不认为这是正确的方式。
你有什么建议?
答案 0 :(得分:4)
通常,您应该只从主线程更新GUI。您可以使用以下代码向主线程提交一些工作:
dispatch_async(dispatch_get_main_queue(), ^{
[myTextField setStringValue:@"a new string"];
});
答案 1 :(得分:1)
您可以采用以下几种方法: