I think this is one of the few cases were a singleton pattern can be used. It exactly fits the singleton description (via Wikipedia):
In software engineering, the singleton pattern is a design pattern that restricts the Instantiation of a class to one object. This is useful when exactly one object is needed to coordinate actions across the system.
I do it this way in my apps and I've seen it done by others, e.g.:
- How To Synchronize Core Data with a Web Service
- IOS Programming: The Big Nerd Ranch Guide (chapter 28)
This post might be also of interest to you. Every iOS app comes with one singleton (AppDelegate) so your class could be just a single instance
, that's referenced by the AppDelegate.