0Pricing
Swift Academy · Lesson

Static vs instance requirements

Differentiate between static (type-level) and instance (object-level) requirements in protocols, and learn how conforming types implement them.

Overview

Protocols can demand instance or static members. Knowing which is which helps you design clear APIs.

Instance requirement

Instance requirements must be implemented by each instance of the conforming type.

protocol Drawable {
    func draw() -> String
}
struct Circle: Drawable {
    func draw() -> String { "Drawing a circle" }
}
print(Circle().draw())

All lessons in this course

  1. Protocols & Extensions basics
  2. Protocol extensions vs type extensions
  3. Static vs instance requirements
← Back to Swift Academy