         layout.dataSource = dataSource
 
     }
-
 
     // MARK - UICollectionViewDataSource
 


        switch (row, column) {
        case (0..<dataSource.numberOfColumnTitles(), 0..<dataSource.numberOfRowTitles()):
            let cell = collectionView.dequeueReusableCellWithReuseIdentifier(dataSource.contentCellID(), forIndexPath: indexPath) as! ContentGridViewCell
            dataSource.configureCornerCell(cell, cornerColumnNumber: column, cornerRowNumner: row)
            return cell

        case (_, 0..<dataSource.numberOfRowTitles()):
            let cell = collectionView.dequeueReusableCellWithReuseIdentifier(dataSource.titleCellID(), forIndexPath: indexPath)
                as! TitleGridViewCell
            dataSource.configureRowTitleCell(cell, rowtitleCellNumber: column, rowIndex: row - dataSource.numberOfColumnTitles())
            return cell

        case (0..<dataSource.numberOfColumnTitles(), _):
            let cell = collectionView.dequeueReusableCellWithReuseIdentifier(dataSource.titleCellID(), forIndexPath: indexPath) as! TitleGridViewCell
            dataSource.configureColumnTitleCell(cell, columnTitleCellNumber: row, columnIndex: column - dataSource.numberOfRowTitles())
            return cell

        default:
            let cell = collectionView.dequeueReusableCellWithReuseIdentifier(dataSource.contentCellID(), forIndexPath: indexPath) as! ContentGridViewCell
            dataSource.configureContentCell(cell, columnIndex: column - dataSource.numberOfColumnTitles(), rowIndex: row - dataSource.numberOfColumnTitles())
            return cell

        }
    }

    public var dataSource: GridViewLayoutDataSource!


    //@IBOutlet weak var layout: GridViewLayout!

    weak var layout: GridViewLayout!

    public override func viewDidLoad() {
        super.viewDidLoad()
