Completion Handlers and Closures

Imagine that your career as a Cocoa programmer has been so successful that you have hired a chauffeur. You tell your chauffeur, “I’d like to go to the Apple Store. Would you bring the car around? Send me an iMessage when you’re at the portico.” The chauffeur nods solemnly and disappears. The completion handler is firmly set: “After I’ve pulled the car around to the portico, send an iMessage.”

Completion handlers are a powerful mechanism for executing arbitrary code at the completion of a long-running operation. Back in the context of alerts, the long-running operation is waiting for the user’s button click. Other examples include network communication (Chapter 28) and calculations made on a background ...

Get Cocoa Programming for OS X: The Big Nerd Ranch Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.