Develop in Swift Tutorials Educator Guide
Develop in Swift Tutorials Educator Guide
Develop in Swift Tutorials are a great first step toward a career in app
development using Xcode, Swift, and SwiftUI. They re designed for
aspiring coders in high school, college or university and beyond.
A tutorial A wrap-up
• Coding a project, ranging from an app • Review of concepts
prototype to a fully functioning app • Ideas for extending an app
• Building on prior knowledge, getting • Suggestions for how to apply skills
progressively more challenging in a different context, often by
creating a new project
Choose your approach: You can present the content linearly, or you can incorporate other text,
documentation, tutorials, videos, and projects to fit your needs. One option is to have learners
complete the tutorial independently, then choose items from the “Continue practicing” section to
complete together, allowing learners to work collaboratively and ask questions.
’
SwiftUI foundations
Get familiar with the tools and technologies you ll use to create apps.
Explore Xcode Get to know Xcode and SwiftUI by • Background • Modifiers • Views 1 hr
creating a prototype of a messaging • Color • Padding • Xcode error
app. Learn about syntax for Swift and • Creating a new project • String messages
how to use the source editor and • Dot notation • Swift syntax • Xcode Library
preview. • Text
Views, Learn how to build a custom view to • Arguments and • Foreground style • SF Symbols 1.5 hrs
structures, create a multiday weather forecast. In parameters • Image • Stored properties
and properties your view, you ll use properties to • Bool • Initializers • String interpolation
customize the display for each day. • Computed properties • Int • Structures
• Custom subviews • HStack and VStack • Subviews
• Font • Returning a value • Type annotation
Layout and Build two onboarding screens for an • Accent color • Font • TabView 1.5 hrs
style iOS app to learn useful tools for • Arrays • Frames • Transparency
putting views where you want them • Borders • Gradient • Type inference
onscreen and inspecting their size. • Brightness • Image • ZStack
Define new colors in the asset catalog • Color assets • Pinning a preview
and use them to create gradient • Customizing a preview • Shape
backgrounds. • Spacer
Buttons Explore adding buttons to your apps. • Animation • Disabling controls • Range operator 1.5 hrs
and state Learn about Swift closures and their • Aspect ratio • Dynamic sizing • Resizable images
relationship to buttons. Use state • Assignment operator • Equality operator • @State
Lists and text Create a dynamic interface that stores • Arrays • Disabling • Symbol rendering 1.5 hrs
fields a set of items in an array and displays • Adding and removing autocorrection modes
them using lists. Use text fields and from arrays • Clip shapes • Ternary conditional
bindings to let people enter text. • Bindings • ForEach operator
• Buttons with custom • List • TextField
Custom Define your first data model by • Creating a type to contain • Grid and GridRow • Running tests 1 hr
types and making your own custom types, your app s logic • Identifiable and UUID • Swift file creation
Swift Testing and prove they work correctly • Creating enum types • .opacity and .disabled
with unit tests. Then use your • Creating struct types
custom types to keep track of • Creating unit tests
scores in a game. • Fixing test failures
Models and Build a list of your friends • Calendar • DatePicker • @Query macro 1.5 hrs
persistence birthdays, using SwiftData to • Classes • @Environment • Safe area
save and retrieve that data • Data models • Frameworks • SwiftData context
across launches. • Date • @Model macro
• Date formatting • NavigationStack
Navigation, Create an app to track friends • @Bindable • ModelConfiguration • Refactoring 3.5 hrs
editing, and and their favorite movies using • ContentUnavailableView ModelContainer • Schema
relationships SwiftData to manage the model • Creating sample data • Model relationships • Search
objects. Use a query to display • Custom view initializers • Navigation hierarchies • Section
the items in a list, and make a • Environment dismiss value • NavigationLink • Sheets
detail view to edit them. Then • Form • NavigationSplitView • Sorting arrays
learn how to create and display • Group • Or ( | | ) operator • Toolbars
relationships between friends • Modal interfaces • Picker • View tags
and movies, and explore how to • Multiple previews • Predicate
create advanced queries. • Property wrappers
Observation Power an alphabet game using • Dictionary • Sharing your types • Task.sleep
2 hrs
and Observation. Share a complex • Documentation comments through the environment • Xcode s Quick Help
shareable data model with many • @Observable and jump bar
data models independent views. • onChange • zip