A simple iOS app demonstrating SwiftUI basics, navigation, and state-driven interactivity using Appleโs tutorials:
-
Part 1: ๐งฉ SwiftUI Essentials โ Creating and Combining Views
-
๐บ๏ธ Built the
LandmarkDetailview with:- ๐บ๏ธ
MapView - ๐ผ๏ธ
CircleImage - ๐ Stacks (
VStack,HStack) for layout - โก Live previews in Xcode
- ๐บ๏ธ
-
-
Part 2: ๐ Building Lists and Navigation
- โ Created
LandmarkRowto display a landmarkโs image & name in a row - ๐ Built
LandmarkListusingListto dynamically display all landmarks - ๐ Made
Landmarkconform toIdentifiablefor use inList - ๐ Used
NavigationView+NavigationLinkto enable navigation from the list to detail views - โ Now users can browse a list of landmarks and tap to see details
- โ Created
-
Part 3: ๐๏ธ Handling User Input
- ๐ Introduced state management with the
@Stateproperty wrapper - โญ Added a Favorite Button (toggle with a star icon) to mark landmarks as favorites
- ๐ฑ๏ธ Connected button state to the landmark model, so UI updates automatically when toggled
- ๐ฒ Updated
LandmarkListto visually show favorite landmarks with a filled star - ๐ฏ Reinforced SwiftUIโs declarative pattern: views react to changes in state automatically
- ๐ Introduced state management with the
-
Part 4: ๐งฉ Composing Complex Interfaces
- ๐๏ธ Integrated multiple views (
LandmarkList,LandmarkDetail,FavoriteButton) into a more cohesive structure - ๐ Shared data across views by introducing
ObservableObjectand@EnvironmentObjectfor centralized state - ๐ฆ Modeled app data in
ModelDatato hold landmarks and allow consistent updates throughout the app - ๐ Ensured any change in data (like marking favorites) automatically propagates across all screens
- ๐ฑ Built a more scalable app foundation, preparing for larger SwiftUI architectures
- ๐๏ธ Integrated multiple views (
- ๐ Detail View: Shows map, circular image, and landmark info with declarative SwiftUI.
- ๐ Dynamic List View: Automatically generates rows from data.
- ๐งญ Navigation Flow: Seamless transitions from list โ detail using SwiftUI navigation components.
- โญ Favorites: Mark and filter landmarks interactively with state-driven UI updates.
- ๐ Shared State: Centralized
ModelDataensures consistency across all parts of the app.
- โฌ๏ธ Clone the project.
- ๐ป Open in Xcode 15+.
- ๐ฑ Run on a simulator (e.g. iPhone 15).
- ๐ Explore how the list integrates with the detail views.
- ๐จ Try toggling favorites and see the state update instantly.
Consider exploring:
- ๐งญ Advanced navigation patterns (
NavigationSplitView,NavigationStack) - ๐๏ธ Tab-based or multi-column layouts
- โญ Add a "Favorites only" toggle to filter the list
- ๐ Integrating Appleโs SwiftData or additional tutorial paths






