Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何在后台调用API,使其不影响其他进程?_Swift_Sqlite_Api_Collectionview_Reloaddata - Fatal编程技术网

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工作。然后向我们显示您的代码,让我们了解您的应用程序冻结的原因。。。。