Swift 如何在后台调用API,使其不影响其他进程?
我有Swift 如何在后台调用API,使其不影响其他进程?,swift,sqlite,api,collectionview,reloaddata,Swift,Sqlite,Api,Collectionview,Reloaddata,我有collectionview和pintrest这样的自定义布局,首先我加载10个图像,然后当用户达到scroll请求的一半时,我从sql本地数据库中获取数据,每次应用程序打开API调用时,我必须以影响其他进程的方式调用API: DispatchQueue.global(qos: .background).async {} 使用alamofire调用API, 如果我从SQL数据库中获取后台数据,应用程序将崩溃,因此我无法在后台线程中获取数据。但是,它挂起滚动。 另外,当我每隔10条新记录重新
collectionview
和pintrest这样的自定义布局,首先我加载10个图像,然后当用户达到scroll
请求的一半时,我从sql本地数据库中获取数据,每次应用程序打开API调用时,我必须以影响其他进程的方式调用API:
DispatchQueue.global(qos: .background).async {}
使用alamofire调用API,
如果我从SQL数据库中获取后台数据,应用程序将崩溃,因此我无法在后台线程中获取数据。但是,它挂起滚动。
另外,当我每隔10条新记录重新加载一次数据时,
collectionview
会抖动,并降低滚动速度。如何处理这两个问题?我不明白为什么不能在主线程之外的其他线程上获取数据?如果它崩溃了,找出它崩溃的原因…我不能相信你不能在主线程之外的另一个线程中获取数据…如果我在应用程序冻结之外的另一个线程中获取数据。我的意思是从其他线程到主队列的滚动是冻结的。目前我只使用DispatchQueue.global(qos:.background).async{}这个。然后向我们展示你的代码,让我们看看你的应用程序为什么会冻结…我不明白为什么你不能在主线程之外的其他线程上获取数据?如果它崩溃了,找出它崩溃的原因…我不能相信你不能在主线程之外的另一个线程中获取数据…如果我在应用程序冻结之外的另一个线程中获取数据。我的意思是从其他线程到主队列的滚动是冻结的。目前我只使用DispatchQueue.global(qos:.background).async{}这个。并在主队列中执行UI工作。然后向我们显示您的代码,让我们了解您的应用程序冻结的原因。。。。