Сегодня я проводил тестирование и отладку своего приложения для Iphone и столкнулся с некоторым странным поведением.
В моем MainView
у меня есть два модальных представления, и при показе одного из них с использованием presentModalViewController
я заметил, чтометод viewDidUnload
моего MainView
был вызван, когда это не происходило при показе другого.Это был тот же случай для метода viewDidLoad
(из MainView
) при закрытии подпредставлений.
Я проверил два метода для открытия и закрытия подпредставлений, и единственное отличие, которое я обнаружил, было в modalTransitionStyle
.В том, который активировал viewDidUnload
/ viewDidLoad
, я использовал UIModalTransitionStyleFlipHorizontal
, а в другом UIModalTransitionStyleCrossDissolve
.Затем я начал экспериментировать, меняя два стиля и используя другие стили перехода, и я обнаружил, что это действительно было причиной различного поведения.Фактически, при использовании UIModalTransitionStyleFlipHorizontal
методы viewDidUnload
/ viewDidLoad
«родительского» контроллера представления всегда вызывались, в то время как это никогда не происходило ни с одним из других стилей перехода.
Мой вопрос теперь заключается в следующемдолжен вести себя так, и если нет, то какое поведение является правильным.Должны ли вызываться методы unload и load при отображении и закрытии модального представления.
Кроме того, может ли кто-то еще подтвердить или не подтвердить это поведение?
Thanx
PS.viewDidLoad
метод двух вызываемых контроллеров представления вызывается каждый раз.Просто чтобы уточнить:)