exc_arithmetic error with simulator only, assigning UICollectionView flowlayout

i0S Swift Issue

Question or problem in the Swift programming language:

Im trying to assign a UICollectionViewFlowLayout to a UICollectionView and it runs fine on a physical device but simulators break, with a signal:

This only happens on a simulator, it is my understanding that this is usually a division by 0 error, but I dont see how thats possible for my implementation

Code:

let flowLayout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()

flowLayout.itemSize =  CGSizeMake(self.view.bounds.width * 0.67,
                                      self.collectionView!.frame.height - 10)

flowLayout.scrollDirection = UICollectionViewScrollDirection.Horizontal

self.collectionView!.collectionViewLayout = flowLayout

Furthermore, i get the signal at this line: self.collectionView!.collectionViewLayout = flowLayout

and the view bounds are : WIDTH: 277.38 HEIGHT: 75.0

Any help, or alternatives would be greatly appreciated!

How to solve the problem:

Solution 1:

Helped to call


reloadData

before


setCollectionViewLayout

Solution 2:

I got the exact same issue on a old code I am working on and it appears that I was calling this code from a wrong method. I moved it in more appropriate place, viewDidLoad or init and it works.

Hope this helps!