Since classes, structs and enums all has constructors, properties and computed properties, how should I reason when choosing between them?
I think it's quite a refined discussion! I like the thoughts expressed here: http://www.swift-studies.com/blog/2014/7/1/struct-enum-or-class
There's quite a lot of details, and their recommendations. I've copied their summary here, but it's a whole article