一个页面中有个两个 UICollectionView ,那么应当如何使用Delegate与DataSource呢

例如:

@IBOutlet weak var Collection01: UICollectionView!
@IBOutlet weak var Collection02: UICollectionView!

那么如何分别为他们定义Delegate与DataSource的方法呢,例如下面这个返回单元格数量的方法

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return 2
}

阅读 5.7k
3 个回答

通过Extension用两个类去做Delegate和DataSource,也可以给个Tag判断

新手上路,请多包涵

专门写两个类用来做dataSource,其实把datasource从controller里抽出来好处多多。。。

@Taku 前半句是正确的解决方案。不过后半句的 Tag 判断并不好,效率低。
我说个简单的实现:

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    if collectionView == Collection01 {
        return 1
    } else if collectionView == Collection02 {
        return 2
    }
    return 0
}

PS:变量名称头字母应当小写。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题