我正在Swift中开发一个iOS应用程序。
我在集合视图中显示数据库中的数据,但是在屏幕上显示需要太多时间。 肯定是一个线程问题,因为在Xcode控制台上,我可以看到数据在它出现在屏幕前20秒显示。这是我的代码: https://github.com/ProjetCedibo/projet/blob/master/Projet-L3-master/appli/SJEPG/SJEPG/CenterViewController.swift
如何让collectionView更快地显示?
答案 0 :(得分:3)
如果发生这种情况,则表示您正在从主线程以外的线程进行UI更改。试试这个:
func refresh() {
dispatch_async(dispatch_get_main_queue(), {
self.eventsCollection.reloadData()
})
}
答案 1 :(得分:1)
代码可能在辅助线程上运行。您所做的任何UI更改都应在主线程上进行。所以试试这个:
dispatch_async(dispatch_get_main_queue()){
// reload your collection view here
})
答案 2 :(得分:0)
除了@StefanArentz回答
对于Swift 3:
DispatchQueue.main.async {
// code to reload collection view
}