将UITableViewCell与不同的数据一起使用

问题描述 投票:0回答:1

我有2个具有不同数据的数组

var array : [String] = ["getMeals", "getMeasure", "getWorkouts"]
var array2 : [String] = ["getStep", "getStep", "getStep"]

我正在尝试从数组中检索图像,但是在不同的收集单元中。

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    if indexPath.section == 0{
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "WorkoutCollectionCell", for: indexPath) as! WorkoutCollectionCell
        cell.collectionImage.image = UIImage(named: array[indexPath.row])
        return cell
    }else{
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "WorkoutCollectionCell", for: indexPath) as! WorkoutCollectionCell
                   cell.collectionImage.image = UIImage(named: array2[indexPath.row])
                   return cell
    }

}

我需要创建另一个UICollectionViewCell还是可以使用当前单元格?

ios swift uitableview uicollectionview uicollectionviewcell
1个回答
0
投票

您可以使用以下代码使用同一单元格:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "WorkoutCollectionCell", for: indexPath) as! WorkoutCollectionCell
    if indexPath.section == 0{

        cell.collectionImage.image = UIImage(named: array[indexPath.row])

    }else{

        cell.collectionImage.image = UIImage(named: array2[indexPath.row])

    }
 return cell
}

0
投票

您需要1个数组,例如

let array  = [["getMeals", "getMeasure", "getWorkouts"],["getStep", "getStep", "getStep"]]

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "WorkoutCollectionCell", for: indexPath) as! WorkoutCollectionCell
    cell.collectionImage.image = UIImage(named: array[indexPath.section][indexPath.row])
    return cell  
}
© www.soinside.com 2019 - 2024. All rights reserved.