I spent a few months working on an iOS app of mine (in Swift) before realizing it was really a bunch of MVCs (Massive View Controllers).
I want to start fresh and build something modular, scalable, and maintainable, but finding any clear information on good ways to do this is more difficult than I thought. I am new to programmers.SE, but not to stackoverflow and I am a competent developer (don’t mind my reputation).
Has anyone come across any good resources on how to create well designed apps in terms of code and architecture (not UI)? Such as how to keep things separate and organized, easy to modify and maintain, different classes for logic/networking/etc.
I understand that I can find info via Google, however if anyone has any input/resources from past experience or prior knowledge sharing would be great!
3
I would start by moving any code that implements or supports the implementation of any delegate or data source into their own classes. So for example if you have a screen that contains a table view inside a navigation controller, move the tableview’s delegate and data sources into separate classes and inject them into the VC.
The once you’ve split up all of those, see what other protocols you’re implementing and factor those out too.
Then see how big your View Controllers are. Find all the code that belongs in the models and move them to where they belong.
Last should be moving code from the controls into your view subclasses. If you don’t have any view subclasses then good for you you’re probably done.
Anything more than that is usually asking for trouble.
2