Я не знаю, что вы думаете, что это оскорбление, может быть, разговор о памяти? или, может быть, это не самый элегантный способ решить эту проблему?
Это, безусловно, не лучший способ решения этой проблемы, я уверен, что ОС не будет иметь проблем с этим (для более старых версий аппаратного обеспечения я могу представить некоторые глюки). Попробуйте, например, сделать что-то оскорбительное в приложении Twitter для iOS, перейдите в свой профиль, затем просмотрите один из своих твитов, затем зайдите в профиль этого твита или что-то в этом роде, снова, снова и снова. Или просматривать различные профили и твиты, я видел, что управление памятью довольно велико. Так что вам не придется беспокоиться о памяти, пока вы реализуете метод didReceiveMemoryWarning
.
Из класса UIViewController справочная страница :
Управление памятью
Память является критически важным ресурсом в iOS, и контроллеры представления предоставляют
встроенная поддержка для уменьшения их памяти в критических
раз. Класс UIViewController обеспечивает некоторую автоматическую обработку
нехватка памяти через его метод didReceiveMemoryWarning,
который освобождает ненужную память. До iOS 3.0 этот метод был
единственный способ освободить дополнительную память, связанную с вашим пользовательским представлением
класс контроллера, но в iOS 3.0 и позже, метод viewDidUnload
может быть более подходящим местом для большинства нужд.
Когда появляется предупреждение о нехватке памяти, класс UIViewController удаляет
его взгляды, если он знает, что может перезагрузить или воссоздать их позже. Если
это происходит, он также вызывает метод viewDidUnload, чтобы дать свой код
шанс отказаться от владения любыми объектами, которые связаны
с вашей иерархией представления, включая объекты, загруженные с помощью файла пера,
объекты, созданные в вашем методе viewDidLoad, и объекты, созданные лениво
во время выполнения и добавлен в иерархию представления. Как правило, если ваш взгляд
Контроллер содержит выходы (свойства или необработанные переменные, которые содержат
ключевое слово IBOutlet), вы должны использовать метод viewDidUnload для
отказаться от права собственности на эти торговые точки или любые другие данные, связанные с просмотром
что вам больше не нужно.
Теперь, если бы у меня было время для реализации другого решения, я бы, вероятно, разработал модель со всем содержимым каждого представления, например.
Модель
- Заголовок (
NSString
).
- PagePaths (
NSArray
).
- CurrentIndex (
int
).
- TransitionType (
ComicBookTransitionType
).
View
- MainView (
UIViewController
).
- MyModel (
ComicBookModel
).
- Следующая страница (
UIView
). (Я бы, вероятно, предварительно загрузил это, чтобы гарантировать плавный переход от страницы к странице, так как следующее свойство).
- Предыдущая страница (
UIView
).
Нечто подобное, все, что осталось бы сделать (и очень сложная часть), это изменить значение с MainView на NextPage или на предыдущую страницу.
И еще один вариант - перейти на Ebook Framework .