【发布时间】:2017-06-11 21:21:22
【问题描述】:
我正在尝试更新包含我的 collectionView 数据的数据对象(只是过滤数据模型),并希望使用过滤后的数据重新加载 collectionView。问题是在重新加载我得到的 collectionView 和重新加载发生时错误 indexPath out of range 时。似乎在调试时,collectionView 正在尝试重新加载原始数据对象,而不是过滤的数据对象。我做错了什么:
func handleFilterAction(sender: FilterButton){
guard let type = sender.buttonFilterType else {return}
switch type {
case .FilterAll:
return
case .FilterDay:
return
case .FillterWeek:
return
case .FilterMonth:
collectionView?.performBatchUpdates({
let objects = FilterDataManager.filterDataWith(currentLocalData: &self.eventObjects, filterOption: .ThisMonth)
self.eventObjects.removeAll()
self.eventObjects = objects
}, completion: { (completion) in
self.navigationItem.title = "This Month"
self.collectionView?.reloadData()
})
}
self.handleShowFilterView()
}
eventObjects 是 collectionView 应该为数据读取的内容:
override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return eventObjects[section].sectionObjects.count
}
【问题讨论】:
标签: ios swift uicollectionview