Синглтон-паттерн Objective-C в iOS 5+

Я читал много тем и статей в блогах о том, как реализовать синглтон в target-c, некоторые из них, возможно, немного устарели (2010 год или более ранняя версия), и кажется, что у людей разные мнения по этому вопросу. .. Есть ли у Apple документация по реализации синглтона? Я не мог найти это. Если так, может кто-нибудь сказать мне, где?

Мне нужен синглтон для класса, который имеет как публичные, так и приватные переменные. В настоящее время это реализация, которую я имею для такого класса:

@interface MySingleton ()
   @property (strong, nonatomic) NSString *state;
@end

@implementation MySingleton

@synthesize state = _state;
@synthesize count = _count;

static MySingleton *sharedObject = nil;

+ (MySingleton *)sharedInstance
{
   static dispatch_once_t _singletonPredicate;

   dispatch_once(&_singletonPredicate, ^{
      sharedObject = [[super allocWithZone:nil] init];
   });

   return sharedObject;
}

+ (id)allocWithZone:(NSZone *)zone 
{
   return [self sharedInstance];
}

Должен ли это быть рекомендуемый способ? И как я должен инициализировать переменные экземпляра, public и private?

Еще одна проблема, которую я хотел бы прояснить в отношении синглтона: это вызовет утечку памяти? Рекомендуется ли использование синглетонов в iOS?

Спасибо

Ответы на вопрос(5)

Ваш ответ на вопрос