Когда выйдет авто-релиз - PullRequest
       8

Когда выйдет авто-релиз

0 голосов
/ 29 августа 2011

Я хочу разработать приложение, в котором будет "n" количество просмотров, созданных на основе взаимодействия с пользователем.Если каждое из этих представлений создается динамически с автоматическим выпуском, когда оно будет фактически выпущено?

Допустим, есть 10 представлений, все из которых являются динамически созданными представлениями с автоматическим выпуском:1 создается и добавляется в стек навигации, пользователю показывается представление 1

Пользователь переходит к другому представлению «Представление 2», представление 1 выталкивается из стека и добавляется представление 2.Будет ли View 1 будет выпущен здесь?Я не хотел бы, чтобы он был выпущен, поэтому я должен сохранить его? Проблема в том, что я могу не знать, сколько видов я создаю, поэтому удаление их вручную может быть проблемой, или есть способ?

Я немного растерянная душа здесь.

Спасибо

Ответы [ 2 ]

2 голосов
/ 29 августа 2011
  1. Вы не добавляете представления в стек навигации, вы добавляете контроллеры представления.
  2. Когда вы нажимаете контроллер представления 2, 1-й из них не будет освобожден, нет.Контроллер навигации всегда будет сохранять все свои контроллеры представления, пока они не вытолкнут из стека.Он будет вызывать -unloadView только на не отображаемых контроллерах представления для освобождения некоторой памяти, но если вы создаете свои представления внутри метода loadView контроллеров представления, все будет автоматически воссоздано.вручную вы можете только отпустить его.Поскольку навигационный контроллер сохранит любой контроллер представления, который вы добавите в свой стек, вы можете освободить его самостоятельно.

По тому, как вы задаете свои вопросы, я заметил, что вам не хватает некоторых базовых знанийпро iOS SDK, MVC и ООП в целом.Я бы честно предложил вам попробовать создать намного более простое приложение, чем это ваше приложение чата , чтобы сначала изучить некоторые основы.

1 голос
/ 29 августа 2011

Это поможет, если вы разместите ключевые сегменты вашего кода, чтобы мы могли видеть, что вы делаете.Короче говоря, если контроллер представления находится в стеке навигации, он будет сохранен контроллером навигации.Если он удален, но вы хотите сохранить его, вам нужно сохранить его на другом контроллере, возможно, на том, который его представляет.

...