Swift : collectionView 显示时间过长

Swift : collectionView takes too long to display

我正在 Swift 中开发一个 iOS 应用程序。

我在集合视图中显示数据库中的数据,但显示在屏幕上需要很长时间。 肯定是线程问题,因为在 Xcode 控制台上,我可以看到数据在显示在屏幕上之前 20 秒显示。这是我的代码: https://github.com/ProjetCedibo/projet/blob/master/Projet-L3-master/appli/SJEPG/SJEPG/CenterViewController.swift

如何使 collectionView 显示得更快?

如果发生这种情况,则意味着您正在从主线程以外的线程进行 UI 更改。试试这个:

func refresh() {
    dispatch_async(dispatch_get_main_queue(), {
        self.eventsCollection.reloadData()
    })
}

发生的情况是代码可能 运行 在辅助线程上。您所做的任何 UI 更改都应该在主线程上进行。所以试试这个:

dispatch_async(dispatch_get_main_queue()){
    // reload your collection view here
})

除了@StefanArentz 的回答

对于 Swift 3:

DispatchQueue.main.async {
   // code to reload collection view
}