Какао - объект Singleton: Где инициализировать членские переменные?

Единственный случай, где Вы не должны воспроизводить его локально, - когда это неосуществимо. Возможно, этому нужно ПАРТИЯ из данных, собственных данных, аппаратных средств, или возможно это требует более сложной установки, чем Вы имеете.

я должен был сделать это несколько раз, потому что мы не могли копировать внутреннюю установку. (Часть технической разработки была даже сделана в системе клиента.) Клиент знал от запуска, что они были выходом за пределы, что мы могли воспроизвести и что ошибки, которые это подняло, были болью для контакта с.

8
задан Yohann T. 21 August 2009 в 23:49
поделиться

2 ответа

Как и с обычными классами - добавьте это над блоком:

-(id)init {
  if (self = [super init]) {
     // do init here
  }

  return self;
}

Он будет вызываться при первом обращении к синглтону.

18
ответ дан 5 December 2019 в 08:53
поделиться

Вы можете инициализировать их в методе init, как и любой другой класс.

Однако помните, что если ваш синглтон содержит состояние-член, он может больше не быть потокобезопасным. Поскольку синглтон доступен в любом месте приложения в любое время, к нему можно обращаться из разных потоков.

1
ответ дан 5 December 2019 в 08:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: