UICollectionView

class UICollectionView : UIScrollView

Simplifies registering & dequeuing UICollectionViewCell and UICollectionReusableView classes & nibs.

Sample usage:

class ImageCollectionViewCell: UICollectionViewCell {}

collectionView.registerClass(ImageCollectionViewCell.self)

func collectionView(collectionView: UICollectionView,
                    cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    let cell: ImageCollectionViewCell = collectionView.dequeueReusableCell(forIndexPath: indexPath)
    // ...
    return cell
}