Basic iOS App: Meal Tracker
Author: Wei Zhong Tee Last Updated: 1 September 2020 Project type: Basic iOS app with Xcode and Swift
This is a basic project I completed to practice using xCode and swift to implement an app that allows you to give a meal a name, an image and rate it out of 5 stars. The first half of the project included building a UI, connecting the UI to code, implementing a custom control defining the data model. The second half of the project involved working with table views, where I had to create a table view, implement navigation, implement edit and delete behavior and then learn how to persist data.
The code can be viewed with any text editor, but to view the storyboard (similar to a design view) and make sense of how the app was implemented, xCode will have to be used. I learnt that there a very specific features that aid with development on xCode. With that comes the limitation of being unable to test or develop on any other IDE.
I followed Apple's swift documentation to build this and it can be found here https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/
The reason I chose to proceed with this project is because I have an interest in mobile app development, UI/UX and the xCode IDE (as I read that much of the apply ecosystem apps are developed on it). It took about one week to complete and there were several challenges along the way:
- This documentation is for an old version of Xcode. To complete certain tasks, certain ways of implementing functions or view controllers have changed and it required reading and research on how to achieve desired goals with the new IDE and syntax updates.
- Everything about this app is functional, but not exactly symmetrical/aesthetically pleasing to the eye (centered text, automatically formatting an image to 1:1 to fit the table view, having the rating systems centered, etc.). There were certain design aspects that I struggled with achieving and eventually moved on without achieveing them (as they were still functional). I still hope to return to it and fix it one day.