【发布时间】:2020-05-28 10:16:52
【问题描述】:
我是 Swift 新手,我遇到了集合视图的问题。当我在 numberOfItemsInSection cellForItemAt 中返回 1 时不会调用,但是当我返回 2 时会调用。我无法理解问题。委托和协议也是正确的。
我的代码是这样的:
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return arrSelectedSchoolIds.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = CollectionViewFilter.dequeueReusableCell(withReuseIdentifier: "SchoolLogo", for: indexPath as IndexPath) as! SchoolLogo
cell.imgSchoolLogo.image = getSchoolLogo(schoolID: arrSelectedSchoolIds[indexPath.row])
return cell
}
func getSchoolLogo(schoolID:String?) -> UIImage
{
switch schoolID
{
case "1":
return UIImage(named: "image1")!
case "2":
return UIImage(named: "image2")!
case "3":
return UIImage(named: "image3")!
case "4":
return UIImage(named: "image4")!
case "5":
return UIImage(named: "image5")!
case "6":
return UIImage(named: "image6")!
default:
return UIImage(named: "defaultimage")!
}
}
图像被添加到 Assest 文件中。
【问题讨论】:
-
您可以尝试将“1”硬编码到您的“numberOfItemsInSection”,或者仔细检查该数组是否确实有一个对象?
-
@Yanchi 是的,我通过硬编码检查 1 个相同的问题
-
无关,但从
IndexPath到IndexPath的桥接是没有意义的。 -
你能提供你的整个班级吗?
-
@vadian 意思是我不明白
标签: ios swift uicollectionview