Ios 在后台加载其他任务时,swift segue new viewcontroller卡滞

Ios 在后台加载其他任务时,swift segue new viewcontroller卡滞,ios,swift,uitableview,segue,Ios,Swift,Uitableview,Segue,目前,我有一个基于API加载的UItableview。当点击一个单元格时,它会切换(显示,例如推送)到另一个viewcontroller。它在第一次API调用后显示所有单元格,然后调用其他API并加载其他数据(这需要一段时间,而且占用大量cpu),但加载时滚动看起来很平滑。 但是,当未完全加载时,如果我单击一个单元格,另一个viewController弹出,整个应用程序会冻结一段时间。(新的viewController显示了所有内容,只是没有响应) 有解决办法吗? 我现在能想到的是通过一次加载更

目前,我有一个基于API加载的UItableview。当点击一个单元格时,它会切换(显示,例如推送)到另一个viewcontroller。它在第一次API调用后显示所有单元格,然后调用其他API并加载其他数据(这需要一段时间,而且占用大量cpu),但加载时滚动看起来很平滑。 但是,当未完全加载时,如果我单击一个单元格,另一个viewController弹出,整个应用程序会冻结一段时间。(新的viewController显示了所有内容,只是没有响应) 有解决办法吗?
我现在能想到的是通过一次加载更少的单元来减少CPU负载。

通常您不想这样做:

“加载其他数据(这需要一段时间,而且占用大量cpu)”

更好的解决方案是不调用第二次调用来获取所有数据,而只获取需要在下一个视图控制器上显示的数据。通常通过在API调用中传递ID来完成。因此,在tableviews
didSelectRowAt
上,您可以进行api调用,以获取特定于下一屏幕的所需数据,然后继续


如果由于服务器端的限制,这是不可能的,那么您将希望链接前两个调用。这意味着在获得所有数据之前,甚至不显示表视图单元格。

欢迎使用。请阅读并提供一些代码(a)来分享您正在做的事情。您可能没有正确使用主线程。加载数据的密集调用应该在后台线程上完成,并且只更新主线程上的UI。