📗 Hacking with iOS: SwiftUI Edition
A hands-on guide to learning Swift and iOS development using SwiftUI. This book covers a series of real-world projects that teach Swift programming and iOS development through practical, step-by-step tutorials.
Details
URL: 🔗 https://www.hackingwithswift.com/store/hacking-with-ios
Published: March 2, 2022
Authors: Paul Hudson
Tags:
SwiftUI
, Swift
, iOS Development
, Tutorials
, Programming
Key Points
- Hands-on tutorial series for learning Swift and iOS development with SwiftUI
- Focus on practical projects and real-world applications
- Milestones and exercises to reinforce learning
- Suitable for developers of all levels
Summary of Contents
-
Project 1: WeSplit
- Introduction to SwiftUI app structure
- Creating a form and adding navigation
- Modifying program state and binding it to UI controls
- Creating views in a loop, reading text from the user, and creating pickers
- Calculating totals and hiding the keyboard
-
Project 2: Guess the Flag
- Using stacks to arrange views
- Colors, frames, gradients, buttons, and images
- Showing alert messages and stacking buttons
- Styling views and upgrading design
-
Project 3: Views and Modifiers
- Understanding why SwiftUI uses structs for views
- Conditional and environment modifiers
- Custom modifiers and containers
-
Project 4: BetterRest
- Using Stepper and DatePicker for user input
- Training a model with Create ML and connecting to Core ML
- Cleaning up the UI and building a layout
-
Project 5: Word Scramble
- Introducing List and loading resources from the app bundle
- Working with strings and validating words
-
Project 6: Animation
- Creating implicit and explicit animations
- Animating gestures and transitions
- Building custom transitions using ViewModifier
-
Project 7: iExpense
- Using @StateObject to share SwiftUI state
- Deleting items, storing user settings, and archiving Swift objects
- Working with Identifiable items and UserDefaults
-
Project 8: Moonshot
- Using GeometryReader for layout
- Working with Codable data and generics
- Formatting views and merging Codable structs
-
Project 9: Drawing
- Creating custom paths and shapes
- Using Metal for high-performance rendering
- Adding special effects and animating complex shapes
-
Project 10: Cupcake Corner
- Adding Codable conformance for @Published properties
- Sending and receiving data with URLSession and SwiftUI
- Loading images and validating forms
-
Project 11: Bookworm
- Creating a custom component with @Binding
- Combining Core Data and SwiftUI
- Sorting fetch requests and showing book details
-
Project 12: Core Data
- Creating NSManagedObject subclasses and saving data conditionally
- Ensuring unique Core Data objects using constraints
- Filtering and dynamically filtering fetch requests
-
Project 13: Instafilter
- Integrating Core Image with SwiftUI
- Wrapping UIViewController in a SwiftUI view
- Filtering images and saving to the photo library
-
Project 14: Bucket List
- Adding conformance to Comparable for custom types
- Integrating MapKit and using Face ID
- Downloading data and introducing MVVM
-
Project 15: Accessibility
- Identifying views with useful labels and grouping accessibility data
- Fixing accessibility issues in previous projects
-
Project 16: Hot Prospects
- Using @EnvironmentObject to read custom values
- Creating tabs and adding context menus
- Scheduling local notifications and generating QR codes
-
Project 17: Flashzilla
- Using gestures and haptics
- Designing a card view and moving views with gestures
- Counting down with a Timer and making iPhones vibrate
-
Project 18: Layout and Geometry
- Understanding frames and coordinates inside GeometryReader
- Creating ScrollView effects and custom alignment guides
-
Project 19: SnowSeeker
- Working with side-by-side views
- Making NavigationView work in landscape mode
- Binding alerts to optionals and making views searchable
Conclusion
- Recap of key concepts and encouragement to practice and explore further
- Emphasis on hands-on learning and building real-world projects