WillanimatoratationTointerfaceorientation, называемая перед ViewWillAppear
-
11-10-2019 - |
Вопрос
Я только что отслеживал аварию, который у меня был в моем приложении для iOS, и это связано с WillanimateratationTointerfaceoratation, вызванной перед ViewWillAppear.
У меня есть приложение с двумя просмотрами. По сути, когда View1 исчезает, я выпускаю несколько массивов, предполагая, что они будут повторно инициализированы, когда он повторно появится в Viewwillapear.
Однако, если я изменяю ориентацию в просмотре 2, то переключаюсь на просмотр1, это приведет к тому, что WillanimatoratationTointerfaceorientation произойдет до того, как View1 вызовет viewWillAppear и повторный инициализированный все, и это вызывает сбой.
Есть ли способ отложить WillanimatoratationTointerfaceorientation до тех пор, пока не появится представление и все было повторно инициализировано?
Если нет, единственные решения, которые я вижу, либо не используют WillanimatoratationTointerfaceorientation (что приводит к уродливо выглядящему изменению ориентации), либо не освобождает мои данные, когда я переключаюсь с View1 на View2, что приводит к большему количеству памяти, чем необходимо.
У кого -нибудь есть какие -нибудь мысли о том, что мне делать?
Решение
Вы можете использовать код в стиле ленивого загрузки. Избегайте вашей проблемы, например:
NSArray* someData;
-(void)somefun1{
if (!someData) {
[self loadData];
}
//use your data
}
-(void)somefun2{
if (!someData) {
[self loadData];
}
//use your data
}
-(void)loadData{
//some loading code
}
Используйте код в стиле ленивого стиля, который вам никогда не нужен заказ на вызов событий Mind.