One of the places where most iOS developers make architecture mistakes is passing data between view controllers.
There are many ways to actually do this, but how do you know which ones are the best ones?
Many developers use the wrong solutions because they are quick and easy.
When I started freelancing a few years ago, things did not go well at the beginning.
I started freelancing at a moment in which I was not happy with my employer and I was looking for another job. Back then a friend told me that there was a lot of work freelancing as an iOS developer.
That was what convinced me to make the sudden jump. But it turned out to be quite different.
Many iOS developers seem to go for very complex storage solutions when iOS offers very quick and easy ones that are much better for many tasks.
I myself made such mistake in the past. When the iOS SDK first came out I decided to make a little game for the iPhone. It was a little card game and as such it had to store the values for each card as well as information about the deck and cards the player collected. And I used the worst solution possible.
Sometimes it is hard to know which technology to use in iOS for a specific task.
Storing data is indeed one of these cases. When I wrote my first app, a diet app for the Mac when the iPhone did not exist yet, I used Core Data to store its data (macOS and iOS share the same technologies and frameworks). Looking back, I think that was probably the right choice at the time, given the kind of data the app handled. But back then I had no idea and no way to tell. I picked Core Data just because I heard other developers talking about it and I didn’t know any other way. When it came to store static data in the app, though, I definitely made the wrong choice.
I believe that most of the business advice for iOS developers you read online is wrong.
I run both a freelancing business and an online business related to iOS development. The funny thing is that I do so ignoring most of the common business advice I usually read, while I still have great results for both my businesses. Most business advice I read aimed at app developers just makes me shake my head.
I am always surprised by how some developers get wrong some basic aspect of iOS development.
A couple of years ago I joined a project at the last moment on an app that had to be delivered shortly but still had a lot of bugs. As I investigated the bugs, though, it became clear that they were not simple bugs: the code of the app was completely wrong. Eventually the company that hired me had to hire a second company to completely rewrite the app. Their client was not happy and they spent all the budget they had left for the app.
Ten years ago I moved my first steps developing apps for Apple platforms. Like many others, I had the dream to become an indie developer, make my own apps and be independent one day. It all started when I saw a presentation about being an indie developer by Will Shipley. I shared it with a friend and soon he came back to me with an idea for a Mac app (the iPhone still didn’t exist back then). At that time he was trying to follow the Zone Diet, which is a pretty complicated diet requiring a lot of calculations. So he though that an app to help people follow that diet would be a good business idea.