我有一个web套接字,可以向MutableProperty<[Stuff]>
添加或删除数据
但是当我用collectionView.reloadData()
重新加载collectionView
时。Web套接字向MutableProperty<[Stuff]>
添加或删除数据,因此它会使崩溃
由于多种原因,这里有一些错误:
- collectionView方法使用我的列表时索引超出范围
- 导致崩溃的项目数无效,如:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid update: invalid number of sections. The number of sections contained in the collection view after the update (58) must be equal to the number of sections contained in the collection view before the update (59), plus or minus the number of sections inserted or deleted (0 inserted, 0 deleted).'
有人有好的建议或最佳实践吗?我看到MutableProperty是线程安全的
我知道它为什么会坠毁。它崩溃是因为websockets在collectionView
的reloadData
期间向数组添加或删除值,但我不知道如何解决它。我知道我们可以使用信号量,但我正在寻找一些优雅的
您应该向我们展示更多的代码,以便我们更好地理解。但是,如果在委托中返回一个固定值:numberOfSections
和numberOfRowsInSection
,则需要在调用collectionView.reloadData()
之前更新它们,以便这两个委托返回每个节中的节和项的确切数量。