
Explore the fundamentals of Swift and SwiftUI, install Xcode tools, and build your first iOS apps, including a notes app and a NASA asteroid data app.
Explore variables, data types, and constants in Swift by creating and using playgrounds in Xcode, practicing var and let, printing and formatting strings, and applying type annotation and strong typing.
Explore Swift strings in this hands-on lecture, learning to create, print, and manipulate strings with variables, concatenation, multi-line strings, and escape sequences like \n and \t.
Explore arithmetic operators in Swift, performing addition, subtraction, multiplication, and division with two integers (32 and 48). Learn about integer division, converting to double, and compound assignments like +=.
Explore Swift collections by examining arrays, sets, and dictionaries, including zero-based indexing, count, and element access by index or key; learn optional handling and null checks to prevent errors.
Master conditionals in Swift using if-else, boolean checks, and switch cases, with examples of temperature comparisons, rain presence, and a ternary operator for boolean values.
Explore loops in Swift by using for loops over ranges to print numbers and iterate sets or an array, and apply while loops to build multiplication tables.
Learn how to define and call functions in Swift using the func keyword, pass parameters, return values, overload functions, handle variadic inputs, and set default parameter values.
Learn to define protocols in Swift as blueprints of functions and properties for creating data types, such as an animal with type and sound, including initializers and SwiftUI usage.
Explore how Swift defines data types with struct and class, learn the difference between value and reference types, define a point structure and a person class, and print their properties.
Start a new chapter by building a simple note taking app with SwiftUI, and learn how declarative SwiftUI and Swift data enable local data persistence for notes and todo items.
Open Xcode and create a new iOS project named notes, set a reverse domain organization identifier, then choose SwiftUI, Swift, and none for storage to set up Swift data later.
Examine the notes app structure in a SwiftUI project, covering settings, assets, content view, and declarative UI with VStack and HStack, using SF Symbols and a background modifier.
Design a notes app UI in SwiftUI using a navigation stack. Follow guidelines, set a navigation title, and present notes as sectioned cards that navigate to notes page.
Define a notes model with title, description, body, createdAt and editedAt; add a Swift data initializer and use a model container to save notes in the app.
Add a plus button in the toolbar to present a modal view for creating notes, using a system image with a plus symbol and a pressed button effect.
Modify the content view to create note nodes using a Swift data model container for the preview, and add a plus button that opens a modal to add notes.
Open a modal by toggling a boolean state in SwiftUI and binding it to a sheet, showing the Add Notes view from a plus button within a navigation stack.
Build a notes app interface by adding a notes view with title and description, using text fields and a text editor, and dismiss and save the note via Swift data.
Create and save notes in a Swift data model context, with title, body, description, and created date, then display them in a list and enable swipe to delete.
Builds a SwiftUI notes app with Swift data, using a navigation stack and navigation links to view, add, and edit notes, including multiline notes and a default title option.
Learn to format and indent Swift code for a notes app using Xcode, the Swift format package, and a tab-based configuration with homebrew.
Fetch asteroid near earth data from the NASA API, parse the JSON into Swift models, and display it in a SwiftUI app.
Transform JSON data into a Swift codable asteroid model by defining raw and asteroid models, and coding keys for element count, and links as string-to-string dictionaries for near-Earth objects.
Create a fetch data function to call the asteroid API, decode JSON into an asteroid raw model, and display results in a list using async/await and state-driven updates.
Update the asteroid app to show current dates using start date and end date with date formatter, then fetch asteroid data including hazardous and sentry objects and close approach date.
Update the asteroid app model to parse nasa jpl data by creating codable structs, coding keys, and a kilometer-based estimated diameter, handling absolute magnitude and links.
Navigate from a tile to an asteroid detail using a SwiftUI navigation link. Display the asteroid name and absolute magnitude in a dedicated asteroid view with a navigation title.
Attach a loading state and progress view to the asteroid list, fetch data from the internet, and manage loading transitions to reveal the asteroid data in Swift.
Learn how to fetch data from the NASA API, make API calls, and parse results into a valid Swift structure using SwiftUI, with guidance from Apple’s documentation.
Swift is a high-performance, expressive programming language developed by Apple for creating applications across iOs, macOS, and WatchOS, making it a highly relevant and useful programming language to learn.
This course is your gateway to mastering iOS development, providing a comprehensive learning path from fundamentals to real-world applications. Divided into 4 sections, this course covers all the basics of Swift, SwiftUI, and SwiftData.
Section 0: Introduction
We begin with an overview of the course objectives and structure, emphasizing the potential of iOS development, followed by a tutorial on how to set up the development environment.
Section 1: Basic Swift
We’ll explore core concepts like variables, data types, collections, conditionals, loops, functions, classes, structures, and protocols. This section includes hands-on examples, designed to solidify your understanding.
Section 2: Basic SwiftUI and SwiftData
Next, we transition to SwiftUI and SwiftData, exploring their capabilities for building intuitive interfaces and managing data models. You’ll apply these skills to create a fully functional note-taking application.
Section 3: Networking in Swift and SwiftUI
In this section, you will learn the essentials of networking in Swift and how to fetch and display data using APIs. You’ll also gain practical experience by building an asteroid app that integrates NASA’s API, applying your skills to solve real-world challenges.
By the end of this course, you will be equipped to confidently build dynamic iOS applications and advance in iOS development.