Skip to content

Swift Modules

New Courses Coming Soon

Join the waiting lists

You write software in files.

A simple program might be stored in a single file, but complex programs are written across multiple files.

Swift provides a way to group several files into a group, called module.

Modules helps us do 2 things: reuse code, and encapsulate code.

You just have to write a particular functionality once, and after putting it into a module, you can import that into different places and projects.

Encapsulation means that the library can do lots of complicated things internally, but you only expose a tiny bit of it to the outside.

You start using modules by importing them.

If you’ve ever written

import SwiftUI


import UIKit

you’ve already used modules. Frameworks like UIKit and SwiftUI, and many others, are modules.

After you import a module, everything that that module declares public will be visible inside your application code.

Modules can import other modules, and when this happens you have access to those modules automatically.

For example SwiftUI imports Foundation, so you don’t have to write

import SwiftUI
import Foundation

because you just need the first line.

Your application is a module, too.

Swift itself is a module, as well. And you never have to import Swift because it’s done automatically for you.

→ Get my Swift Handbook

Here is how can I help you: