Learn iOS development the Swift way: concise articles for fast learning!

  • CompactMap in Swift

    Swift’s compactMap is a versatile and powerful method that combines mapping and filtering operations. It’s an essential tool for any Swift developer, allowing you to transform and clean up collections efficiently. In this post, we’ll explore compactMap through five practical examples, demonstrating its flexibility and utility in various scenarios. What is compactMap? According to Apple’s…

  • Access Control in Swift

    Access control is a feature in Swift that allows you to control the access levels of properties, methods, and other types in your code. This means that you can specify which parts of your code can access a particular piece of functionality, and which parts cannot. Swift has five access levels: open, public, internal, fileprivate,…

  • Weak, Strong and Unowned in Swift

    Weak and unowned keywords are used to define weak and unowned references to objects. A weak reference is a reference to an object that doesn’t prevent the object from being deallocated by the automatic reference counting (ARC) system. An unowned reference is a reference to an object that is assumed to always exist and therefore…

  • Separate UITableView/UICollectionView DataSource from a View Controller in Swift

    View controllers can get really massive in some cases when you place the data source and delegate methods inside it when using a tableView or a collectionView. To overcome that you can separate them out. In this article we will take a look at how we can separate the data source of tableView. A data…

  • Fall Detection API in Swift for WatchOS

    I was recently implementing the Fall Detection API in Swift/SwiftUI for watchOS, and I had a lot of trouble getting it working. The documentation was very sparse, and I ended up wasting a lot of hours trying to figure out how to use the API. I was finally able to get it working after about 95% of the way…

  • Why Use Swift for iOS Development

    Swift is a popular programming language for building iOS apps because it is fast, modern, and easy to use. Some of the key advantages of using Swift for iOS development are: Overall, Swift is a powerful and versatile language that is well-suited for building high-quality iOS apps. It is widely used by developers and companies…

  • The Observer Pattern in Swift

    The Observer pattern is a design pattern that allows objects (observers) to register to receive notifications from another object (the subject). In Swift, the Observer pattern can be implemented using the ‘NotificationCenter‘ class and the ‘addObserver‘ method, like this: The SomeObserver class has a startObserving method that registers the handleNotification method as an observer of…

  • The Singleton Pattern in Swift

    The Singleton pattern is a design pattern that ensures that only one instance of a class can be created, and provides a global point of access to that instance. In Swift, the Singleton pattern can be implemented using a static property and a private initializer, like this: In this example, the Calculate class is implemented…

  • Classes in Swift

    A class is a data type that represents a reference type in Swift. Classes are similar to structs, but they are more powerful and flexible, and they are designed to be used as reference types rather than value types. To define a class in Swift, you use the class keyword followed by the name of…

  • Structs in Swift

    A struct is a data type that represents a custom value type in Swift. Structs are similar to classes, but they are simpler and more lightweight, and they are designed to be value types rather than reference types. To define a struct in Swift, you use the struct keyword followed by the name of the…

  • Closures in Swift

    A closure is a block of code that you can use as a variable or pass to a function in Swift. Closures are similar to blocks in other programming languages, and they can be used for tasks such as defining a section of code to be executed at a later time or as a callback…

  • Arithmetic Operators in Swift

    The arithmetic operators are used to perform basic mathematical operations on numbers in Swift. These operators include the following: Here are some examples of how you could use these operators in Swift: In this code, the a and b variables are declared and initialized with the values 5 and 2, respectively. Then, the arithmetic operators…

  • Assignment Operator in Swift

    The assignment operator (=) is used to assign a value to a variable in Swift. This is the most common and basic assignment operator in Swift. Here is an example of how you could use the assignment operator to assign a value to a variable: In this example, the score variable is declared using the…

  • Type Annotations in Swift

    Type annotations are used to specify the type of a value or variable in Swift. Type annotations are written immediately after the variable or value name, followed by a colon (:) and the name of the type. Type annotations are optional in Swift, but they can be useful for providing additional information about the types…

  • Constants & Variables in Swift

    Constants and variables are used to store and manage data in your program in Swift. Constants are values that cannot be changed, while variables are values that can be changed. Constants are declared using the let keyword, followed by the name of the constant and its type. Here is an example of how you could…