Вопрос

Я только что отслеживал аварию, который у меня был в моем приложении для 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top