重用collectionView

时间:2016-05-26 09:56:54

标签: ios swift architecture uicollectionview

我有VC和一个collectionView。管理集合视图的所有代码我已经扩展到该VC。但现在我需要在另一个不同的VC中使用此集合视图,我不想复制/粘贴此扩展。我试图继承UICollectionView,但它不会在里面调用delegate / datasource方法。这是我的扩展名的签名:

func scrollViewDidEndDecelerating(scrollView: UIScrollView)
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize

以及一些私有函数和属性。我应该把所有这些方法放在哪里,如果我想经常重复使用它们?

1 个答案:

答案 0 :(得分:1)

您应该将所有这些逻辑放入一个单独的VC中并重用VC,您不只是尝试重用集合视图。

因此,无论您何时需要此集合视图的“副本”,您实际上都会添加子VC并将VC中的视图添加为子视图。