и посмотреть медиа
Swift | Вопросы собесов
и посмотреть медиа
Вопросы для собеседований по Swift, тесты и задачи для iOS-разработчиков в Telegram.
Вопросы для собеседований по Swift, тесты и задачи для iOS-разработчиков в Telegram.
AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.
Канал посвящен подготовке к собеседованиям по языку Swift. Здесь собраны актуальные вопросы, тесты, практические задачи и информация о вакансиях. Идеально для начинающих и опытных iOS-разработчиков, желающих освежить знания и успешно пройти интервью.
🤔 В каких моментах жизненного цикла лучше поместить подписку? Подписку на уведомления (NotificationCenter), KVO или Combine в жизненном цикле UIViewController лучше размещать в методах, где гарантируется её актуальность и корректное удаление. 🟠Подписка в `viewDidLoad()` Подписка на события обычно происходит в `viewDidLoad()`, так как этот метод вызывается один раз при создании контроллера. override func viewDidLoad() { super.viewDidLoad() NotificationCenter.default.addObserver( self, selector: #selector(handleNotification), name: .someNotification, object: nil ) } @objc func handleNotification(_ notification: Notification) { print("Получено уведомление") } 🟠Подписка в `viewWillAppear()` – если уведомления нужны только при отображении экрана Если подписка должна работать только когда экран на экране, используем viewWillAppear(). var cancellable: AnyCancellable? override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) cancellable = NotificationCenter.default.publisher(for: .someNotification) .sink { _ in print("Событие получено") } } 🟠`viewWillDisappear()` – отписка от событий Когда контроллер скрывается, подписки можно удалить, чтобы избежать ненужных вызовов. Удаление подписки на NotificationCenter: override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) NotificationCenter.default.removeObserver(self, name: .someNotification, object: nil) } Удаление Combine подписки (cancellable) override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) cancellable?.cancel() cancellable = nil } 🟠`deinit` – отписка, если подписка создаётся в `viewDidLoad()` Если подписка работает на протяжении всего жизненного цикла контроллера, её можно удалить в `deinit`. deinit { NotificationCenter.default.removeObserver(self) } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!