requires explicit use of 'self' 🍎 iOS

Swift: Reference to property 'x' in closure requires explicit use of 'self' to make capture semantics explicit

In an escaping closure inside a class, Swift requires self. to make the capture (and potential retain cycle) visible.

Seen on: iOS

Meaning

Add self. or capture [weak self] / [self] explicitly. For long-lived closures prefer [weak self] to avoid retain cycles.

Common causes

  • Escaping closure referencing instance properties without self
  • Copying code from SwiftUI structs into classes

⚡ Quick fix

  1. Write self.property
  2. Use [weak self] and guard let self
  3. Use [self] capture list when a strong capture is intended

Detailed fix by platform

Swift

  1. swift
    api.load { [weak self] result in
        guard let self else { return }
        self.items = result
    }

How to diagnose

  1. Closure — Escaping and long-lived?
  2. Cycle — Does self own the closure?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.