ViewDidAppear и ViewWillAppear вызывается несколько раз для одного viewDidLoad в приложении ios swift
Я делаю приложение для iPhone на swift, здесь ViewDidAppear и ViewWillAppear вызывается несколько раз для одного viewDidLoad в приложении ios swift?
Помогите мне, пожалуйста.
2 ответа
Всякий раз, когда вы нажимаете viewController, он будет вызывать viewDidLoad, затем viewWillAppear и last viewDidAppear. Но если вы вернетесь к viewController, то вызовут только viewWillAppear и viewDidAppear.
View будет вызывать эти два (viewWillAppear & viewDidAppear) каждый раз, когда этот viewController показывает для каждого условия
я. При нажатии - viewDidLoad после него, viewWillAppear & viewDidAppear.
II. On back или pop - нет вызова viewDidLoad, только viewWillAppear и viewDidAppear.
III. В активном состоянии - viewDidLoad не будет вызываться, только viewWillAppear и viewDidAppear.
Если вы не знакомы с жизненным циклом UIViewController, я действительно рекомендую вам начать здесь с документации Apple и здесь.
Но в очень коротком ответе
Метод viewDidLoad
- Этот метод вызывается после того, как контроллер представления загрузил свою иерархию представления в память. Этот метод вызывается независимо от того, была ли иерархия представления загружена из файла пера или создана программно в методе loadView. Обычно вы переопределяете этот метод, чтобы выполнить дополнительную инициализацию для представлений, которые были загружены из файлов пера.
Методы ViewDidAppear
а также ViewWillAppear
как они звучат для вас, вызывается каждый раз, когда вид появляется на экране.
Это изображение (из документации Apple) показывает допустимые переходы состояний между различными методами обратного вызова "will" и "did"