Разница между viewDidLoad и viewDidAppear



в чем разница между viewDidLoad и viewDidAppear? Какая инициализация или пользовательский код входит в эти функции?



например presentModalViewController работает только при наличии в viewDidAppear, а не viewDidLoad.

530   2  
ios

2 ответов:

viewDidLoad вызывается ровно один раз, когда контроллер вида впервые загружается в память. Здесь вы хотите создать экземпляр любой переменной экземпляра и построить любые представления, которые живут в течение всего жизненного цикла этого контроллера представлений. Однако вид обычно еще не виден в этой точке.

viewDidAppear вызывается, когда вид фактически виден, и может вызываться несколько раз в течение жизненного цикла контроллера вида (например, когда модальный контроллер вида уволен, и вид снова становится видимым). Здесь вы хотите выполнить любые действия с макетом или сделать любой чертеж в пользовательском интерфейсе - например, представить контроллер модального вида. Однако все, что вы здесь делаете, должно быть повторяемым. Лучше не сохранять вещи здесь, иначе вы получите утечки памяти, если вы не отпустите их, когда вид исчезнет.

см.:https://developer.apple.com/documentation/uikit/uiviewcontroller

проще говоря, вы хотели бы создать любые элементы управления или массивы в viewDidLoad, где в viewDidAppear где вы хотели бы обновить эти элементы или массивы.

viewDidLoad вызывается один раз при создании контроллера и viewDidAppear вызывается каждый раз, когда вид, ну, появился. Итак, скажем, у вас есть модальное представление, которое вы представляете, когда это представление отклоняется,viewDidAppear будет называться, и viewDidLoad не будет называемый.

Comments

    Ничего не найдено.