Я отсканировал статью, и, хотя в ней было несколько хороших идей, у нее также есть несколько плохих советов, и их не следует воспринимать как Евангелие.
И, как другие предлагали, если у вас многоСинглтон-объекты могут означать, что вы просто сохраняете слишком большое состояние глобального / постоянного состояния.Обычно требуется только один или два ваших собственных (в дополнение к тем, которые могут быть реализованы другими «пакетами» того или иного рода).
Что касается отладки синглетонов, я не понимаю, почему вы говорите, что этотяжело - не хуже, чем все остальное, по большей части.Если вы получаете EXEC_BAD_ACCESS, это потому, что у вас есть какая-то ошибка адресации, и это не является чем-то конкретным для одноэлементных схем (если вы не используете очень плохую).
Макросы затрудняют отладку, потому что строкикода, который они включают, не могут быть вставлены точки останова.Глубокие шесть макросов, если не больше.В частности, макрос SYNTHESIZE_SINGLETON_FOR_CLASS
из статьи мешает отладке.Замените вызов этой макрофункции кодом, который она генерирует для вашего синглтон-класса.