如何使用switch语句在Swift中实现collectionView函数?

时间:2017-03-02 03:03:30

标签: ios swift

我是swift的新手并尝试在ViewController中实现collectionView函数。现在我有三种类型的UICollectionViewCell,这是我的代码:

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

    var cell:UICollectionViewCell

    switch collectionView {
        case self.collectionViewCategory:
            cell = collectionView.dequeueReusableCell(withReuseIdentifier: categoryIdentifier, for: indexPath as IndexPath) as! CategoryCell
            cell.CategoryIcon.image = self.categoryItems[indexPath.item]
        case self.collectionViewHour:
            cell = collectionView.dequeueReusableCell(withReuseIdentifier: hourIdentifier, for: indexPath as IndexPath) as! HourCell
            cell.hourItem.text = self.hourItems[indexPath.item]
        default:
            //do nothing.
    }
    cell.layer.borderColor = UIColor.lightGray.cgColor
    cell.layer.borderWidth = 1
    cell.layer.cornerRadius = 5
    return cell
}

我想使用AnyObject声明一个变量单元格,但是我犯了很多错误。更改为UICollectionViewCell之后,错误消失了,然后仍然无效。

1 个答案:

答案 0 :(得分:0)

你可以使用这样的开关:

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        switch indexPath.row {
        case 0:
            <#code#>
        case 1:
            <#code#>
        default:
            <#code#>
        }
    }

或者您可以使用indexPath.section