Skip to content

Latest commit

 

History

History
47 lines (32 loc) · 1.78 KB

File metadata and controls

47 lines (32 loc) · 1.78 KB

Project 7 - iExpense - 100DaysOfSwiftUI Challenge

Project 7 - iExpense - Day 36 of 100DaysOfSwiftUI

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

Project 7 - iExpense - Day 37 of 100DaysOfSwiftUI

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

Project 7 - iExpense - Day 38 of 100DaysOfSwiftUI

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