Skip to main content
pelatihan
.org
Learn. Practice. Grow.
Category
EN
Sign in
Sign up
Menu
Swift Curriculum: 11 Chapters, 79 Lessons — pelatihan.org
Home
/
Catalog
/
Swift
/
Curriculum
Curriculum
Swift Curriculum
Learn Swift online with 79 structured lessons, code examples, and 395 quiz questions.
79 lessons
11 chapters
395 questions
Summaries and key points are free to preview. Full lessons, code examples, and quizzes require a subscription.
01
Swift Basics
20 lessons
01
Swift HOME
This homepage of Swift's tutorial introduces a powerful, fast, and intuitive programming language made by Apple. Swift is specifically designed to build high-quality apps in…
02
Swift Intro
This lesson reviews the advantages of Swift's modernity over Objective-C. Swift eliminates many of the complexities of raw pointers and separate header declarations, replacing…
03
Swift Get Started
This lesson guides you to the initial step of starting Swift programming using Xcode Playgrounds or the terminal. Playgrounds provide an instant interactive environment where…
04
Swift Syntax
This lesson reviews the basic syntax rules in Swift. Swift doesn't require semicolons at the end of the instruction line and has a very clean writing style. Developers will learn…
05
Swift Statements
This lesson discusses the various types of statements in Swift that make up the logic controls of the program. Statements in Swift include assignment statements, constant…
06
Swift Output
This lesson reviews the print() function in Swift to display data to the debugging console window. Developers will study the optional parameters of the separator and terminator…
07
Swift Comments
This lesson explains comment writing in Swift code for internal documentation as well as official documentation of Quick Help in Xcode. Swift supports single-line comments,…
08
Swift Variables
This lesson reviews the declarations of variables and constants in Swift using the keywords 'let' and 'var'. Swift highly prioritized the principle of immutability: values that…
09
Swift Data Types
This lesson discusses the basic data types that Swift supports. Swift is a language with statically typed and tight data types. Basic types include Int for integers, Double and…
10
Swift Type Casting
This lesson reviews Type Casting in Swift to check the object type or treat the object as another subtype. Swift provides an 'ice' operator for type checking as well as an 'as?'…
11
Swift Operators
This lesson reviews the operators of arithmetic, comparison, logic, and assignment in Swift. Swift strictly prevents integer overflow by default (unless using a special overflow…
12
Swift Strings
This lesson reviews the String data type in Swift that is fully compatible with the latest Unicode standards. Strings in Swift are efficient value types with Copy-on-Write (COW)…
13
Swift Arrays
This lesson discusses the Array in Swift which is a collection of elements sorted by a uniform data type. The array in Swift is a flexible and dynamic value type. Developers will…
14
Swift Ranges
This lesson is a peek at the Range Operators in Swift that are used to express sequential range values. Swift provides an inclusive closed range operator and a half-open range…
15
Swift If...Else
This lesson discusses conditional branching using 'if', 'else if', and 'else' in Swift. In Swift, the condition does not require regular parentheses around it, but the curly…
16
Swift Switch
This lesson reviews the 'switch' statement in Swift which is much more sophisticated and secure than the switch in C. Switches in Swift require full coverage of possible values…
17
Swift While Loop
This lesson discusses the whilst and repeat-while repetitions in Swift. Repetition while evaluates the condition before the instruction block is executed, whereas repeat-while…
18
Swift For Loop
This lesson reviews the 'for-in' repetition in Swift that is used to iterate the sequence of a number array, array element, dictionary, or string. For-in at Swift is very…
19
Swift Break/Continue
This lesson discusses the break, continue, and use of labeled statements in Swift. Repeat labels allow developers to name identifiers to the external loop, so the break or…
20
Swift Collections
This study reviews three main types of data collection structures in Swift: Array, Set, and Dictionary. The entire collection in Swift is pure value types that are safe from…
02
Swift Types & Functions
5 lessons
01
Swift Functions
This lesson reviews functions in Swift that are declared using the keyword 'func'. Swift has a very expressive parameter feature, where each parameter can have an external label…
02
Swift Optionals
This lesson is a peek at Optionals, which is Swift's most important memory safety innovation. Optional indicates that a variable can hold a valid value, OR has no value at all…
03
Swift Enums & Patterns
This lesson is about Enumeration in Swift which is very feature-rich compared to Enum in C. The enum in Swift is a first-class type that can have associated values for storing…
04
Swift Closures
This lesson reviews Closures in Swift which are self-contained blocks of code (like an anonymous function or lambda) that can be stored in variables and passed to other…
05
Tuples & Type Aliases
This lesson is about Tuple and Typealias in Swift. Tuple groups several values into one compound value while without the need to define a new struct, it is ideal for a function…
03
Swift Object Model
11 lessons
01
Swift OOP
This lesson examines the paradigm of object-oriented programming (OOP) in Swift as well as the fundamental comparison between Struct (Value Type) and Class (Reference Type).…
02
Swift Inheritance
This lesson discusses inheritance in the Swift class. Subclasses inherit all the characteristics (properties and methods) of superclasses. Subclasses can override parent methods…
03
Swift Polymorphism
This lesson reviews the concept of polymorphism in Swift where objects from different subclasses can be treated as the same type of superclass. With dynamic dispatch, Swift calls…
04
Swift Protocols
This lesson reviews the Protocols which are the blueprint of the contract methods, properties, and other requirements in Swift. Protocols can be adopted by class, struct, or…
05
Swift Generics
This lesson discusses Generics in Swift which allows for flexible and reusable writing of functions and data types for different data types while maintaining type safety.…
06
Swift Extensions
This lesson reviews Extensions in Swift that allow you to add new functionality to an existing class, struct, enum, or protocol type, even without having access to the original…
07
Access Control
This lesson discusses Access Control in Swift to limit code accessibility between source files and modules. Swift provides five levels of access control: open, public, internal…
08
Initializers
This lesson reviews the Initializers in Swift who are tasked with preparing instances of class, struct, or enum to be ready for use before their properties are accessed. Swift…
09
Deinitializers
This lesson discusses Deinitializers in Swift that are declared with the keyword 'deinit'. The Deinitializer is automatically called by the system just before the class instance…
10
Value Semantics & COW
This lesson is a study of the concept of Value Semantics and Copy-on-Write (COW) optimization in Swift. Value semantics guarantees that each variable has an independent copy of…
11
Equatable & Comparable
This lesson discusses the standard protocols Equatable and Comparable in Swift. Adopting Equatable allows your custom type to compare its similarity values using the operators…
04
Swift Robustness & Async
3 lessons
01
Swift Error Handling
This lesson reviews Error Handling in Swift using the Error protocol, keyword 'throws', and do-catch constructs. Swift uses an explicit and controlled error handling model. The…
02
Swift Concurrency
This lesson discusses the Modern Competition feature in Swift using the async/await, Tasks, and Actors models. Launched on Swift 5.5, this model replaced the callback closure…
03
Swift Memory
This lesson is about Memory Management in Swift which is managed by Automatic Reference Counting (ARC). Developers will study the lifecycle of heap memory allocation, the dangers…
05
Swift Tooling
1 lessons
01
Swift Package Manager
This lesson reviews Swift Package Manager (SPM) which is Apple's official built-in tool for managing Swift's dependencies and distributing its code library. Configured using the…
06
SwiftUI Basics
12 lessons
01
SwiftUI Intro
This lesson introduces SwiftUI, Apple's modern declarative UI framework to build user interfaces across iOS, macOS, watchOS, and tvOS platforms. Instead of manipulating the view…
02
iOS Project Setup
This lesson guided the creation of a new iOS app project based on SwiftUI in Xcode. Developers will study the modern Xcode project file structure, the role of the @main App…
03
SwiftUI Layout
This lesson reviews the layout system in SwiftUI using Stacks: VStack (vertical), HStack (horizontal), and ZStack (stacked layers of depth). Developers will also learn the use of…
04
SwiftUI Navigation
This lesson discusses navigation between screens in SwiftUI using NavigationStack and NavigationLink. Developers will learn how to move to the detail screen, transmit data…
05
SwiftUI Data Flow
This lesson reviews the data flow architecture in SwiftUI through the main property wrappers: @State, @Binding, @ObservedObject, and @EnvironmentObject. At SwiftUI, the 'Single…
06
SwiftUI Lists & Forms
This lesson discusses creating rolling lists of data using the List and settings interface using the Form in SwiftUI. The list is equivalent to UITableView which efficiently…
07
SwiftUI Animations
This lesson reviews the smooth animation creation and interactive transitions in SwiftUI. Animation in SwiftUI can be applied implicitly using the .animation() modifier or…
08
SwiftUI Gestures
This lesson discusses user touch gesture handling in SwiftUI such as TapGesture, DragGesture, MagnificationGesture, and RotationGesture. Gestures can be tied directly to the…
09
SwiftUI Modifiers & ViewBuilder
This lesson will show you how View Modifiers and the @ViewBuilder attributes work in SwiftUI. View modifier wrapped the display component to change its style or behavior and…
10
SwiftUI Previews
This lesson discusses Xcode Previews that allow instant previews of SwiftUI interfaces in various screen conditions. Developers will learn how the '#Preview' macro (modern in…
11
SwiftUI Accessibility
This lesson reviews the Accessibility feature in SwiftUI to ensure that the app can be used comfortably by all, including visually impaired people through VoiceOver. The…
12
SwiftUI Styling & Theming
This lesson discusses styling and creating themes in SwiftUI. Developers will learn the use of Semantic Colors, Asset Catalog Color Sets that support automatic Light/Dark mode,…
07
SwiftUI Data & Architecture
6 lessons
01
Networking
This lesson reviews the networking techniques in Swift using the URLSession and the Decodable protocol. Developers are taught how to send HTTP GET requests using the modern…
02
Persistence
This lesson is about light local data storage using UserDefaults on iOS. UserDefaults are specifically designed to store user preferences, application settings configurations, or…
03
Persistence (Core Data)
This lesson reviews Core Data (and its modern successor SwiftData) which is a persistent object-based graphics management framework developed by Apple. Core Data is capable of…
04
MVVM Architecture
This lesson discusses the application of the Model-View-ViewModel (MVVM) architecture pattern which is the de facto standard in the development of SwiftUI applications. This…
05
AppStorage & SceneStorage
This lesson reviews the state storage of the dedicated interface in SwiftUI using @AppStorage and @SceneStorage. @AppStorage synchronizes variables globally to UserDefaults,…
06
Testing SwiftUI
This lesson discusses the automated testing strategy for SwiftUI applications. Developers will learn the differences between the Testing Unit to validate the ViewModel business…
08
iOS Capabilities
11 lessons
01
Privacy & Permissions
This lesson reviews the privacy and user permissions configuration on iOS. Apple greatly promotes user data privacy; access to sensitive hardware such as cameras, GPS locations,…
02
Push Notifications
This lesson discusses the implementation of Push Notifications on iOS using the UserNotifications (UNUserNotificationCenter) framework. Developers will learn the difference…
03
Widgets & Extensions
This lesson reviews the creation of Widgets on iOS using the WidgetKit and SwiftUI frameworks. The widget displays relevant concise information directly on the Home Screen, Lock…
04
Background Work
This lesson discusses how to manage Background Tasks on iOS using the BackgroundTasks (BGTaskScheduler) framework. The iOS operating system is very strictly limiting the process…
05
Core Location
This lesson reviews Core Location, Apple's official framework for determining the geographic position (star and longitude), compass direction, and geofencing on iPhone devices.…
06
App Clips
This lesson introduces App Clips, an innovative iOS feature that allows users to instantly experience a small portion of the app's functionality in seconds without having to…
07
Keychain Basics
This lesson reviews the storage of sensitive data using iOS Keychain Services. Unlike unencrypted UserDefaults, Keychain encrypts data hardware using the Secure Enclave module.…
08
CloudKit
This lesson is about CloudKit, Apple's official cloud storage framework that connects apps directly to iCloud accounts of users. CloudKit allows data synchronization between…
09
File System
This lesson reviews the manipulation of the File System on iOS using FileManager. Each iOS app runs in an isolated Sandbox that has a standard folder structure: Documents,…
10
Background URLSession
This lesson discusses downloading and uploading large files in the background using Background URLSession. With this configuration, the data transfer will continue to run even if…
11
MapKit
This lesson reviews the integration of interactive maps into apps using MapKit and SwiftUI. Massively updated in iOS 17 with the declarative control 'Map()', developers can…
09
iOS Quality & Compliance
6 lessons
01
Localization
This lesson discusses localization and internationalization (i18n) to translate applications into different languages of the world. Developers will learn the latest String…
02
Accessibility
This lesson reviews the principles and implementation of Accessibility on iOS apps using SwiftUI. Building an accessible app ensures that everyone, including users with visual,…
03
App Privacy
This lesson discusses managing App Privacy and preparing Privacy Nutrition Labels in the App Store Connect. Apple requires each app to report any personal data it collects, how…
04
In-App Purchases
This lesson reviews the implementation of in-app purchases and subscriptions using StoreKit 2 on iOS. StoreKit 2 simplifies transactions with the modern Swift concurrency-based…
05
Analytics & Reporting
This lesson reviews the application of app analytics and crash reporting on iOS. Monitoring performance metrics, patterns of feature usage, and analyzing stack trace crashes are…
06
Testing with XCTest
This lesson discusses testing iOS apps comprehensively using the modern XCTest and Swift Testing frameworks. Testing includes Unit Testing for business logic and model view,…
10
iOS Release & Distribution
4 lessons
01
Assets & App Icons
This lesson reviews the management of visual assets, colors, and app icons in the Asset Catalog Xcode. Set up modern app icons with Single Size Asset, adaptive color palette for…
02
Signing & Distribution
This lesson discusses the concept of Code Signing, Provisioning Profiles, and certifications in the Apple Developer Program. Before an app can run on a physical iPhone or be…
03
TestFlight & App Store
This lesson reviews the app testing process using Apple TestFlight and the submission phase to the App Store. Developers will learn how to create production archives in Xcode,…
04
Ship Your First App
This Capstone Project closing lesson summarizes the entire journey of learning the Swift programming language and the iOS ecosystem. Students are guided through the full…