> Приведи пример реализации паттерна Singleton в UIKit или Foundation (iOS, Swift)
Уровень: senior · Роль: mobile · Категория: Технические вопросы
Компании: Физтех-Центр
Стек: iOS, Swift
> Пример ответа
В UIKit и Foundation паттерн Singleton широко используется. Классический пример - UIApplication.shared. Реализация на Swift выглядит так:
SWIFTclass NetworkManager {static let shared = NetworkManager()private init() {// Приватный инициализатор предотвращает создание экземпляров извне}func fetchData() {// Логика запроса}}
В Foundation: UserDefaults.standard, FileManager.default, NotificationCenter.default. Вот пример с URLSession:
SWIFTlet session = URLSession.shared// Используется для всех сетевых запросов, избегая дублирования конфигураций
Ключевые особенности:
-
Статическое свойство
sharedгарантирует единственный экземпляр. -
Приватный
initзапрещает внешнее создание. -
Потокобезопасность обеспечивается ленивой инициализацией через
static let(Swift гарантирует атомарность).
Однако стоит помнить, что злоупотребление Singleton может усложнить тестирование и привести к скрытым зависимостям.
> Похожие задачи по mobile
Когда создается таблица виртуальных методов и протокольная таблица в Swift
Как организована сборка приложения
Влияет ли порядок применения модификаторов на View в SwiftUI
В чем разница между open и public в Swift
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью