DEV Community

Harsh Prajapat
Harsh Prajapat

Posted on

An unowned reference

class NetworkManager {
    var data = "Payload"

    func fetchData(completion: @escaping () -> Void) {
        // Simulating an action where this manager instance is guaranteed to be alive
        DispatchQueue.global().async {
            completion()
        }
    }

    func startTasks() {
        fetchData { [unowned self] in
            // No optional unwrapping or 'self?' required
            print("Successfully processed \(self.data)") 
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)