需求
具体需求为向后端请求数据,根据返回数据控制UI显隐。
具体问题
我开了一个子线程用来向后端获取数据,在操作UI时遇到了问题。
之前的同事没有在初始化时生成UI,通过折叠控制显隐,而是直接进行生成和移除。
所以我在调用该函数时无法生成UI,原因是此时我正位于子线程,而UI绘制必须在Slate线程或Game线程。
所以我需要在绘制时切换到Game线程。
解决方法
AsyncTask(ENamedThreads::GameThread,[=](){});
参考文章
UE4子线程调用游戏主线程注意事项 (含队列问题)