gpt4 book ai didi

multithreading - 从后台线程更新 NSTableView 数据源

转载 作者:行者123 更新时间:2023-12-03 17:00:00 25 4
gpt4 key购买 nike

将后台线程频繁更新的数据源与 GUI 主线程同步的最佳方法是什么?

我应该在每个方法调用周围放置一个 pthread 互斥体吗?这对我来说似乎也很重。

编辑:我正在寻找 10.5 解决方案

最佳答案

您始终可以在主线程上更新模型和 TableView 。 NSObject 中有像performSelectorOnMainThread:withObject:waitUntilDone:这样的函数,可以让你轻松地在主线程上执行函数调用。所以你可以用以下方法更新你的模型:

[model performSelectorOnMainThread:@selector(addObject:) withObject:newObject waitUntilDone:YES];

然后,用以下内容更新您的表格 View :

[tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];

如果您需要传递多个对象,事情会变得更加复杂,因为这样您就需要使用调用,但我发现这些函数大多数时候都可以使用。

关于multithreading - 从后台线程更新 NSTableView 数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3906322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com