Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
В какой момент вызывается loadView и чем он отличается от viewDidLoad?
loadView вызывается, когда система впервые нуждается в view контроллера. В этом методе создаётся корневая view. viewDidLoad вызывается сразу после этого и используется для настройки интерфейса и логики. Обычно loadView не переопределяют, а всю настройку делают в viewDidLoad.
Почему viewDidLoad обычно вызывается один раз и в каких edge-кейсах он может вызваться повторно?
viewDidLoad вызывается один раз, потому что view загружается лениво и живёт в памяти, пока контроллер существует. Повторный вызов возможен, если view была выгружена из памяти и затем создана заново. Такое может происходить при нехватке памяти или при ручном обнулении view. В обычных сценариях это редкость, но учитывать это всё равно важно.
Почему подписки и отписки на события опасно делать в viewDidLoad?
viewDidLoad вызывается обычно один раз, но экран может появляться и исчезать много раз. Если подписаться в viewDidLoad, события будут приходить даже когда экран не виден, а отписка “в другом месте” легко забудется или не отработает в edge-кейсах. Это приводит к утечкам, дублям обработчиков и багам с состоянием. Подписки обычно привязывают к viewWillAppear/viewDidDisappear или к более явному жизненному циклу объекта.
Как можно спровоцировать вызов viewDidLoad без показа экрана?
viewDidLoad вызывается в момент загрузки view.
Для этого не требуется отображать экран пользователю.
Достаточно обратиться к свойству view контроллера.
После этого viewDidLoad будет вызван автоматически.
Рейтинг:
4
Сложность:
7
Рейтинг:
4
Сложность:
7
Рейтинг:
5
Сложность:
8
Рейтинг:
4
Сложность:
6