So my clients iphone app has balloned from 5 or so classes to over 25 in the last few weeks. With such a large (for the iphone anyway) class structure I've been utilizing the Singleton class for accessing global variables. The problem is that whenever I need to access a variable outside of the class I'm working on, I have a choice of either modifying the code to pass a reference to the variable or just throw it in the singleton. Of course throwing it in the singleton is a lot less code and effort, however, now the singleton is beginning to look like a mish-mosh of unrelated globals.
My question is how appropriate is it to maintain a large singleton object with unrelated global vars and what is generally the "best practice" way of sharing data across classes in a "non-trivial" iphone app?
Many thanks in advance for your advice!