在我的UICollectionView中,如果没有数据(试图设置一个空单元格),我试图返回1个项目。 这是代码:
Set<Integer> set = IntStream.concat(
IntStream.range(outer.start, outer.end),
rangesToBeRemoved.stream()
.reduce(
IntStream.empty(),
(stream, range) -> IntStream.concat(stream, IntStream.range(range.start, range.end)),
IntStream::concat)
.distinct())
.boxed()
.collect(Collectors.toMap(Function.identity(), x -> Boolean.TRUE, (x, y) -> null))
.keySet();
var movies = [Movies]()
我遇到致命错误:索引超出范围。我知道,通过这种方式,我试图访问index [1]下的元素,这是不可能的,因为该元素不存在,这就是此错误的原因。
但是在这种情况下如何避免呢?
答案 0 :(得分:2)
从1
的空数组返回 numberOfItemsInSection
开始,您需要先检查cellForItemAt
中的数组是否为空,然后才能下标它。
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
if movies.isEmpty {
//return your empty cell
}
else {
//access array element and return cell
}
}