This project was personally very valuable because I had the opportunity to go through the whole app "life cycle" myself. Rather than following instructions, I had to deliberately decide what functionality I wanted and how I would implement it. As for more tangible features, I learned how to 1) manage state with the Stepper
, 2) allow date selection with the UIDatePicker
, 3) get the current date with a Date()
object, as well as 4) how to use closures with higher order functions like filter
(used to implement search bar functionality).
In my class project, I reviewed segues (push
and present modally
), navigation controllers, table view controllers, as well adding constraints.
Yes, I do plan to continue working on my Habit Track app. Although I think all of the core functionality (adding/deleting habits, tracking days for each habit, searching, "rewarding" users when they've tracked a habit for several successive days, etc.), I would like to improve the UI/UX and allow the app to send reminders (either through Apple's Reminders app or via text message or push notifications).
I think this project was useful to get insight into iOS development. I've certainly realized how different working with UIKit is than web development, and how the debugging process is very different for Swift and XCode.
Link is here