ios - 将单独线程检索的数据返回到主线程以在 UI 中显示

标签 ios multithreading

我有一个应用程序,它有一个按钮和一个标签。单击该按钮时,将启动一个调用 Web 服务的异步单独线程。一旦 Service 响应,线程就会将数据以对象的形式传回 MainViewController 中的函数。然而,由于该函数被单独的线程调用,它无法在 UI(主线程)中显示该数据。当我尝试将文本分配给标签或更改图片或进行任何 UI 操作时,什么也没有发生。当函数运行时,所有 UI 对象都是 NULL 对象。有没有人建议我如何从生成的线程将数据返回到主线程?

思想-

我想我可以将对象存储在一个全局变量中,但仍然需要能够通知主线程有数据要获取和显示。

最佳答案

你真的应该看看Grand Central Dispatch而不是手动线程。如果您的要求允许您使用它,那么在后台运行事物以及在后台线程和 UI 线程之间安全地传递数据时,它会让您的生活大大更简单。

关于ios - 将单独线程检索的数据返回到主线程以在 UI 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9284552/

相关文章:

ios - 如何在 ios 运行时禁用约束?

ios - 在 Objective-C 中反转字符串数组

c++ - 这里需要内存栅栏吗?

python - celery :如何限制队列中的任务数量并在满时停止喂食?

java - 如何将这些新消息传递给另一个类

ios - 为什么每次我打开 xcode 项目时它都会显示撤销代码签名证书?

objective-c - 如何在我的 viewController 中显示我的图像,就像下面的屏幕截图一样?

ios - 依次执行功能

multithreading - Rust mpsc::Sender 不能在线程间共享?

c# - WaitAll 用于更改列表<Task>