У меня есть фабрика объектов, которая раздает экземпляры нескольких «постоянных» неизменных объектов. Я бы хотел, чтобы эти объекты были защищены от плохого управления памятью клиентами. Вот как я переопределил ключевые методы класса. Я что-то упускаю (код или другие соображения)?
- (id)retain
{
return self;
}
- (NSUInteger)retainCount
{
return UINT_MAX;
}
- (void)release
{
// nothing.
}
Обновление для последующих читателей Drive-by: Это был (специально) вопрос о какао с двойным черным бриллиантом. Если вы пытаетесь создать обычный синглтон, ознакомьтесь с ответами ниже, касающимися общих экземпляров и т. Д. Этот вопрос (и выбранный ответ) попадает в раздел «вы должны быть уверены, что знаете, что делаете», прежде чем выбрать эту стратегию реализации .