This will be a series of articles explaining how to update an old Swift app using the latest development methods.

Here are some screens of this app that was named “Fishionary”:

Fishionary - List view
Fishionary - Detail view

Some context: back in the days when I was an iOS freelancer, I made a living by writing apps for web agencies, small companies, or as contractor. From time to time, I wrote an app “pro bono”, either for a friend or a relationship. Sometime the goal was for me to try new “cool” technologies. That is how I wrote my first Swift app. I was doing Objective-C at work and wanted to have a quick start on this cool new language form Apple ;-)

The app itself was for someone fond of fishing: it provides a list with picture of edible fish and if there is some environemental concern about fishing those fishes. I was using Swift 2 at that time and I got really impressed by the qualities of this language; Even if my day to day work was in Objective-C, I decided that Swift was to be a mandatory criteria for my next job hunting ..

So, it is 2018 now and I stumbled upon the source code of this app on my disk. The app itself is not on the App Store anymore, and the person for whom I did the work has probably lost any interest in the app, as it was obvious there was little money to do with it.

However, I wanted to had a look on the code I had written 3 year before and soon I opened the project in Xcode … The rest of this post will be how I have taken this code and refactored it with the knowledge I have accumulated in the last 3 years of Swift development.