扩展与继承与委派

时间:2016-03-04 10:48:15

标签: ios swift inheritance delegates uicollectionview

我是SWIFT编程的新手,并且正在关注Ray Wenderlich关于集合视图的教程。我找到了他们实现collectionView数据源作为扩展的代码。我知道什么是扩展(扩展为现有类添加新功能) - 但我仍然无法理解在这种情况下这样做的优势。

extension FlickrPhotosViewController : UICollectionViewDataSource {



    //1
      override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
        return searches.count
      }

      //2
      override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return searches[section].searchResults.count
      }

      //3
      override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! UICollectionViewCell
        cell.backgroundColor = UIColor.blackColor()
        // Configure the cell
        return cell
      }
    }

问题 - 实施 UICollectionViewDataSource的区别是什么

class FlickrPhotosViewController: UIViewController,UICollectionViewDataSource

然后向数据源代表确认。 当我们通过扩展实现它时,我们还有什么优势。除了只使我们的程序结构看起来很好之外,它还提供任何其他帮助吗?

0 个答案:

没有答案