我遇到了问题,在调用我指定的委托[UICollectionView reloadData]
之前,它似乎卡住了很长一段时间。numberOfSectionsInCollectionView
这就是发生的事情:
应用程序以立即可见的 UICollectionView 开始,并numberOfSectionsInCollectionView
在委托上调用,委托返回空数组(即 0)中的项目数,并立即开始从 Web 服务下载该数组的数据。下载完成后,数据被反序列化并添加到上述数组中,然后在实例reloadData
上调用。UICollectionView
这是应用程序似乎停止执行任何操作的地方,并且在 20-30 秒(有时长达一分钟)后,代理会收到对numberOfSectionsInCollectionView
. 一旦收到此调用,重新加载就会迅速完成。
我相信reloadData
在它自己的线程中运行,但我尝试在一个单独的线程中启动它,以确保它不是我的任何代码阻塞进程。当它似乎卡住时可以reloadData
做什么?reloadData
之间是否有任何numberOfSectionsInCollectionView
我应该实施的中间委托方法?就 iOS 开发人员而言,我认为这是在重新加载后调用的第一个方法。
如果有人能告诉我可能出了什么问题,那太好了,但我也很感激有关如何调试它的任何提示!