Вы правы, есть правила, которые говорят вам, что делать .Это те же правила, которые вы используете везде в Cocoa Touch.Клиенты синглтона не должны заботиться о том, что используемый ими объект является синглтоном, и им определенно не следует полагаться на одноэлементность синглтона во избежание обычных соглашений об управлении памятью.
Да, если вы знает , что объект является одноэлементным, и вы знаете , что он не будет освобожден, сохранение его может показаться избыточным.С другой стороны, сохранение синглтона, когда вы его приобретаете, и освобождение его, когда вы закончите, лучше документирует намерение программиста и избавляет от необходимости объяснять кому-либо (включая вас в будущем), почему не стоит сохранять этот конкретный объект.Самое главное, это предотвращает зависимость вашего кода от деталей реализации какой-либо другой части вашего кода.