使用可可和C++时刷新屏幕上数据的正确方法是什么
What is the proper way to refresh data on screen when using Cocoa and C++?
我正在为OS X制作一个应用程序,使用Cocoa作为图形界面。但我的主要算法是C++制造的。该界面仅显示NSTextFields和NSLevelIndicator中的算法的一些值。
屏幕需要实时刷新算法中的数据。
我所做的是一个NSThread,它从算法中读取数据并放在屏幕上。但我不认为这是正确的方式。
你有什么建议?
通常,您应该只从主线程更新 GUI。 您可以使用如下代码将一些工作提交到主线程:
dispatch_async(dispatch_get_main_queue(), ^{
[myTextField setStringValue:@"a new string"];
});
有
几种方法可以使用:
- 在主线程上使用重复的 NSTimer 从算法中获取值,然后显示它们
- 使用Ken Thomases所写的算法中的dispatch_async
- 从算法中使用 performSelectorOnMainThread
- 让算法将通知发布到 NSNotificationCenter
相关文章:
- 通过JNI传递数据数组的最快方法是什么
- 使用QQuickFramebufferObject时同步数据的最佳方式是什么
- int数据类型的指针指向的是什么,如果是一个类的私有数据成员,我们创建了该类的两个对象?
- 在C++中查找像素 RGB 数据的最快方法是什么?
- C++中deque数据结构的大O是什么?
- 数据类型"struct seq<0, 1, 2>{}"含义是什么?
- 将传入的网络"char*"数据转换为"uint8_t"并返回的安全方法是什么?
- 读取大文件(>2GB)(文本文件包含以太网数据)并通过不同参数随机访问数据的最佳方法是什么?
- 在 c++ 中解析数据包数据的最佳方法是什么?
- 处理编译器关于可能丢失数据的警告的最优雅方法是什么
- 自定义数据结构的优点是什么?
- DLL共享数据的推荐方式是什么
- 在wxWidgets的事件中包含我自己的数据的最佳方法是什么?
- 用于筛子的最佳数据结构是什么(即一些被划掉的数字列表)?
- 将一种数据类型的向量复制到同一数据类型的结构向量中的有效方法是什么
- 多维数据集ai中的ai_float是什么
- MySQL c++ 连接器:使用 SetBlob() 在查询中设置多个 blob 数据的正确方法是什么?
- 在 .text 部分中定义只读数据的原因是什么?
- 在C++和Python之间交换数据的最快方法是什么?
- C++:文本文件中的数据是什么类型的