The list mostly constains Swift-related sections with a small exception related to Foundation
framework. The Foundation
-related articles will be moved into separete list.
The section contains materials that are dedicated to specific versions of Swift
- New Diagnostic Architecture Overview
- Using KeyPaths as functions in Swift 5.2
- Adding default values to subscript arguments in Swift 5.2
- How and when to use callAsFunction in Swift 5.2
- What’s new in Swift 5.1
- How to use opaque return types in Swift 5.1
- Ordered Collection Diffing
- The Swift 5.1 features that power SwiftUI’s API
- Swift Opaque Result Types
- Shifting paradigms in Swift
- Swift Property Wrappers
- Swift 5.1 Two Quick Tips
- What is Module Stability in Swift and why should you care?
- What will be new in Swift 5?
- What’s new in Swift 5.0
- The Beauty of Swift 5 String Interpolation
- More fun with Swift 5 String Interpolation: Radix formatting
- Swift 5 Interpolation Part 3: Dates and Number Formatters
- Swift 5.0 is changing optional try
- Swift 5 gives us Nice Things™: Custom string delimiters
- How to use raw strings in Swift 5
- How to use Result in Swift 5
- How to use @dynamicCallable in Swift
- Add Result to the Standard Library - SE0235
- Contiguous Collection Protocols - SE0237
- Customizing string interpolation - SE0238
- Add Codable conformance to Range types - SE-0239
- Swift 5 Release Notes for Xcode 10.2 beta
- How to use the result type to handle errors in Swift 5?
- Character Properties in Swift 5
- Swift 5 Exclusivity Enforcement
- Expressible By String Interpolation
- ABI Stability and More
- Super-powered string interpolation in Swift 5.0
- Swift 5.0: How to migrate your project and frameworks
- Introduction to structured concurrency in Swift: continuations, tasks, and cancellation
- Swift async/await, Structured concurrency, @asyncHandler
- 0304-structured-concurrency
- 0296-async-await
- Getting started with async/await in Swift
- Async and Await in Swift 5.5
- Async/Await in Swift – Rethinking Callbacks and Escaping the Pyramid of Doom
- Using async/await in SwiftUI
- What are generators and why Swift needs them?
- Event loops, building smooth UIs, and handling high server load
- Coroutines and “yield” expressions in Swift
- Introduction to structured concurrency in Swift: continuations, tasks, and cancellation
- Swift Concurrency Essentials: Getting Started
- How do Actors work in Swift?
- Understanding Actors in Swift
- Getting Started with Swift Concurrency (Async Await, Actors, Continuations, Tasks)
- Swift Concurrency Manifesto | Chris Lattner and Lex Fridman
- How to download images in parallel with Swift Concurrency
- Enumerations
- Enumerations
- Unknown Enum Cases
- SERIALISATION OF ENUM WITH ASSOCIATED TYPE
- @unknown default usage with enums in Swift
- Swift 5 Frozen enums
- Make the most of enumerations in Swift
- Inclusive enums with OptionSet
- Swift: Using Enums to Write Safer Code
- Swift: Using Enums to Write Safer Code — Part Two
- Advanced Enum (Enumerations) by Example - Swift Programming Language
- Indirect Enums - Swift 3.0
- Indirect Enums And Structs
- What are indirect enums?
- Indirect Enums on practice
- indirect enums and structs
- Using
indirect
modifier forstruct
properties - Who benefits from the
indirect
keyword?
- Exploring some of the lesser-known, built-in Formatter types
- Formatter
- Formatting numbers in Swift
- Nicely Formatted Lists with ListFormatter
- Digging deeper into the Swift behind SwiftUI
- UIAlertController with Function Builders
- Understanding Function Builders
- Crash course in Swift's 'function builders' with SwiftUI
- A deep dive into Swift’s result builders
- Annotating properties with result builder attributes
- Strings In Swift 4
- Dive deep into Swift String
- String literals in Swift
- Empty Strings in Swift
- How Strings and Substrings work in Swift
- Different ways to check if a string contains another string in Swift
- How to use regular expressions in Swift
- Regular Expressions in Swift
- NSRegularExpression
- Regular Expressions in Swift
- Regular Expressions in Swift
- Regular Expressions Tutorial: Getting Started
- An Introduction to Regular Expressions
- Stop Using Structs!
- When to Use Swift Structs and Classes
- Bidirectional associations using value types in Swift
- Synthesized conditional conformances in Swift 4.2
- Private properties in protocols
- Mixins over Inheritance
- Injecting forEach into chained method calls
- Mastering Generics with Protocols: The Specification Pattern
- Multiple Inheritance in Swift
- How to split decision and action logic with the Swift type system
- The subtleties of protocol extensions
- Using protocols as composable extensions
- Refactoring With Protocols
- Exploring Existential Types With Swift
- Alternatives to protocols in Swift
- Struct References
- Making the Most of Swift.KeyPath
- Swift 4 KeyPaths and You
- The power of key paths in Swift
- Encoding and Decoding in Swift 4
- Encoding and Decoding
- JSON Parsing with Swift 4
- Encoding, Decoding and Serialization in Swift 4
- Single Value Codable
- Using Swift Codable With Property Lists
- Codable cheat sheet
- OBJECT SERIALIZATION IN IOS
- Encoding and Decoding in Swift
- Encoding and Decoding Enums with Associated Values Using Codable (Swift 4)
- Swift Tip: Codable Enums
- Indeterminate Types with Codable in Swift
- Encode/Decode Array of Types conforming to protocol with JSONEncoder
- Dynamic Encodable with type erasure
- Are KeyPaths Codable?
- GOING DEEP WITH DECODABLE
- Type erasure using closures in Swift
- Swift World: Type Erasure
- Swift: Accomplishing Dynamic Dispatch on PATs (Protocol with Associated Types)
- Type Erasure in Swift
- Breaking Down Type Erasure in Swift
- A “Type Erasure” Pattern that Works in Swift
- Swift: Attempting to Understand Type Erasure
- How To Use Type Erasure For Better Model Abstractions
- Lazy Initialization with Swift
- Using lazy properties in Swift
- Swift Lazy Initialization with Closures
- Stored Properties In Swift Extensions
- Property observers in Swift
- Computed properties in Swift
- Computed properties in Swift: A basic feature for safer and cleaner code
- Lazy Properties in Structs
- Property wrappers to remove boilerplate code in Swift
- Property wrappers in Swift 5.1: the missing @Published implementation
- Making properties overridable only in debug builds
- Bindings and KVO alternatives
- Bindings, Generics Swift and MVVM
- Solving The Binding Problem With Swift
- KVO In iOS 11
- Swift Tip: Bindings with KVO and Key Pathss
- Observing properties with Key-Value Observering
- The Strange Case Of Mapping Over Optionals
- Filtering Object To Optionals
- Optionals in Swift explained: 5 things you should know
- All About Swift Optional
- Creating custom collections in Swift
- Let's Build Swift.Array
- Array vs Set: Fundamentals in Swift explained
- Weak self and unowned self explained in Swift
- Discover Side Tables - Weak Reference Management Concept in Swift
- Exploring @dynamicMemberLookup
- Thoughts on @dynamicMemberLookup
- How to use Dynamic Member Lookup in Swift
- Dynamic Member Lookup combined with key paths in Swift
- Pattern Matching, Part 1: switch, enums & where clauses
- Pattern Matching, Part 2: tuples, ranges & types
- Pattern Matching, Part 3: Custom pattern matching & syntactic sugar
- Pattern Matching, Part 4: if case, guard case, for case
- Pattern Matching in Swift
- Custom pattern matching in Swift
- Writing Custom Pattern Matching in Swift
- Pattern Matching with case let
- Pattern matching in Swift
- Defining custom patterns in Swift
- How to create a custom OptionSet
- OptionSetType and enums
- Option Sets in Swift
- OptionSet usage in Swift like NS_OPTIONS
- Option Set
- Swift 4 KeyPaths and You
- The power of key paths in Swift
- Using KeyPaths as functions in Swift 5.2
- The power of key paths in Swift
- Keypaths in Swift Explained
- Understanding KeyPaths in Swift
- Understand ARC
- ARC and Memory Management in Swift
- Advanced iOS Memory Management with Swift: ARC, Strong, Weak and Unowned Explained
Keywords: Reflection
, Introspection
, Mirror
, CustomReflectable
- Unbreakable reference cycles in Swift no one is talking about
- Increasing Performance by Reducing Dynamic Dispatch
- Why using isEmpty is faster than checking count == 0
- Swift + Keywords (V 3.0.1)
- Solving the binding problem with Swift
- Swift Get Class Name
- When to Use Swift Structs and Classes
- Debouncing in Swift while your iOS app is in the background
- Inline types and functions in Swift
- Chris Lattner on the origins of Swift
- Exploring the Swift standard library source code
- What makes code “Swifty”?