Кажется, что много кода Objective-C использует Singleton в настоящее время.
В то время как многие люди жалуются на Singleton, например. Google (Где все синглы ушли?), их коллеги-инженеры также используют его: http://code.google.com/mobile/analytics/docs/iphone/
Я знаю, что у нас уже есть ответы в Stack Overflow, но они не являются полностью специфичными для Objective-C как динамический язык: Objective C имеет категории, в то время как многие другие языки этого не делают.
Так что вы думаете? Вы все еще используете Singleton? Если да, то как сделать приложение более надежным?
Обновлено. Я думаю, что нам нужно использовать коды в качестве примера для более конкретного обсуждения, поэтому многие дискуссии по SO основаны на теории без единой строки кода
В качестве примера можно использовать SDK Google Analytics iOS:
// Initialization
[[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-0000000-1"
dispatchPeriod:kGANDispatchPeriodSec
delegate:nil];
// Track page view
[[GANTracker sharedTracker] trackPageview:@"/app_entry_point"
withError:&error];
Красота вышеуказанного кода после инициализации с использованием метода " startTrackerWithAccountID", вы можете запускать метод " trackPageview" во всех своих приложениях, не проходя через конфигурации.
Если вы думаете, что Синглтон плохой, можете ли вы улучшить приведенный выше код?
Большое спасибо за ваш вклад, у вас счастливая пятница.