Nobody should start to undertake a large project. You start with a small trivial project, and you should never expect it to get large. If you do, you'll just overdesign and generally think it is more important than it likely is at that stage. Or worse, you might be scared away by the sheer size of the work you envision. - Linus Torvalds
Today I learnt about:
- Introduction and Project Setup
- Why @State only works with Structs
- Sharing SwiftUI state with @ObservedObject
- Showing and hiding views using Sheet
- Deleting items in a list using onDelete()
- Storing user settings with UserDefaults
- Archiving Swift objects with Codable
Perfection is achieved not when there is nothing more to add, but rather when there is nothing more to take away. - Antoine de Saint-Exupery
Today I learnt about:
- Building a list for showing the expenses and which is deletable
- Working with Identifiable Protocol using UUID
- Sharing an ObservedObject with a new view
- Making changes permanent with UserDefaults
- Final polish of the user interface
Sometimes you need to press pause to let everything sink in. - Sebastian Vettel
Today I completed the challenges:
- Adding an EditButton on the Navigation Bar to delete list rows
- Modifying the expense amount with styling
- Adding validation while saving expenses information
Project 7 - Summary:
This project was all about the scaling up in SwiftUI skill and I learn about:
- UserDefaults
- Codable, ObservableObject and Identifiable Protocols
- Published and ObservedObject Protocol
- Modal Sheet View
- @State working only with Structs