Fantastic book. This is the way I learned to program iPhone apps.
The problem with cookbooks and language references is their impracticality in the real world. This book avoids that problem by providing real examples of patterns you might use in a production app.
For example, you use a Singleton for a central database or user save data, because you want it to serve as the single ground truth for all queries across your app.
You use the Decorator pattern for ornaments on your keyboard when it comes up, adding buttons for Cancel and Confirm.
Likewise, many patterns have natural analogs in the world of Objective-C:
- The Flywheel pattern for collections generating cells upon themselves.
- The Delegate pattern for callbacks to parent ViewControllers when a child view needs info.
- The Composition pattern for building classes that contain encapsulated, archivable data like your custom strings, user profiles, and dictionary values.
- The Singleton pattern for central databases and save data.
- The Decorator pattern for keyboards, supplemental views, callouts, and toolbars.
- The Model-View-Controller pattern for storing data in models, UI in views, and response logic in controllers
- The Observer pattern for responding to backgrounding of the app, returning from background or sleep, hearing back from REST API servers
- The Dispatch pattern for performing UI work on the main thread, other work on other threads