Coming from C++, I have not yet understood two important things in Swift:
How do you structure the code in swift without headers in large projects without loosing track of the main interfaces or putting implementations details where it shouldn't?
I've seen some popular approach of writing code in swift where you define a struct or class holding the relevant data and then using
inits, properties and functions. Is this a good practice? It seems at first sight difficult to navigate through many extensions just to understand what this struct is supposed to do. Why not define the init right away if you are introducing a new type?