まれにうまくいくこともあるが、クラッシュする。
EXC_ARITHMETIC (code=EXC_I386_DIV, subcode=0x0)
UICollectionView#dataSourceを、先に設定しておくと駄目っぽい。collectionViewLayoutを設定した後に、dataSourceを設定するとクラッシュしなくなった。
let layout = MyCollectionViewLayout()
collectionView.collectionViewLayout = layout
collectionView.dataSource = self
layoutを設定し直すとやはりクラッシュするので、設定前にdataSourceをnilにしておくと防げます。
collectionView.dataSource = nil
let layout = MyCollectionViewLayout()
collectionView.collectionViewLayout = layout
collectionView.dataSource = self