Swift Tutorials – Learn Swift from Basics to Advanced
Swift is Apple's language for building iOS, macOS, and cross-platform apps. These guides focus on the parts that trip people up most: optionals, value vs reference types, protocols, properties, and SwiftUI's state management system. Each article explains one concept clearly, with practical examples you can apply straight away.
Optionals
Optionals are one of Swift's most distinctive features — and one of the first things new developers need to understand. These guides cover every way to safely (and unsafely) unwrap them.
Learn Swift on Mimo
- How to Unwrap Optionals in Swift
- How to Use Optional Chaining in Swift
- How to Use Nil Coalescing in Swift
- How to Force Unwrap in Swift
- How to Use Implicitly Unwrapped Optionals in Swift
- How to Use Guard vs If in Swift
Structs, Classes & Protocols
Swift leans heavily on value types and protocol-oriented design. These guides explain how structs and classes differ, when to choose each, and how protocols and extensions let you share behavior across types.
- How to Create a Struct in Swift
- How to Use Struct vs Class in Swift
- How to Use Copy-on-Write in Swift
- How to Create a Protocol in Swift
- How to Use Protocol Extensions in Swift
Properties
Beyond basic stored properties, Swift gives you computed values, change observers, and lazy initialization. These guides cover when and how to use each.
- How to Use Property Observers in Swift
- How to Use Computed Properties in Swift
- How to Use Lazy Properties in Swift
SwiftUI
SwiftUI is Apple's declarative UI framework, built around a reactive state model. These guides cover the property wrappers that control how data flows through your views.
- How to Create a View in SwiftUI
- How to Create a Button in SwiftUI
- How to Use @State in SwiftUI
- How to Use @Binding in SwiftUI
- How to Use @ObservedObject in SwiftUI
- How to Use @EnvironmentObject in SwiftUI
- How to Use VStack and HStack in SwiftUI
- How to Use Spacer in SwiftUI
- How to Use Padding in SwiftUI
- How to Create a List in SwiftUI
- How to Create a Form in SwiftUI
- How to Show an Alert in SwiftUI
- How to Add Navigation in SwiftUI
Collections
Swift's core collection types and the higher-order functions that make working with them concise and expressive.
- How to Create an Array in Swift
- How to Create a Dictionary in Swift
- How to Create a Set in Swift
- How to Use Map in Swift
- How to Use Filter in Swift
- How to Use Reduce in Swift
Type System
Swift's type system is strict and expressive. These guides cover how the compiler infers types, how to check them at runtime, and how to safely convert between them.
- How to Use Type Inference in Swift
- How to Use the is Operator in Swift
- How to Use Type Casting in Swift
Closures & Extensions
Two of Swift's most powerful features for writing clean, reusable code: closures as first-class values, and extensions for adding behavior to any type.
- How to Use Closures in Swift
- How to Use Trailing Closures in Swift
- How to Create an Extension in Swift
- How to Add Methods to Built-in Types in Swift
Error Handling
Swift uses a typed throws system to make error handling explicit. These guides cover how to throw errors and how to catch them safely.
Join 35M+ people learning for free on Mimo
4.8 out of 5 across 1M+ reviews
Check us out on Apple AppStore, Google Play Store, and Trustpilot