Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Утечка памяти - Received memory warning? - Программирование iOS

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS iPad просмотр видео сервера http://www.cyberforum.ru/ios-dev/thread632846.html
Приветствую всех! Подскажите с таким вопросом есть планшет iPad2 возможно ли вывести туда картинку с видео сервера с IQ7!!!? просто облазил нет ничего не нашел((( И возможно ли установить...
Программирование iOS Готовимся к программированию под iOS Здравствуйте. Хочу начать программирование и интересует ряд вопросов: хватит ли MacBook'а с Leopard'ом для установки и нормального программирования на Xcode. Сначала нужно рисовать дизайн приложения,... http://www.cyberforum.ru/ios-dev/thread631690.html
Программирование iOS Нужно разъяснение с Core Data
Всем привет! Толи я идиот тупой, толи с возрастом соображалка перестает работать нормально, но я никак ни по книжкам, ни по примерам не могу найти типовых шагов по работе с Core Data! Прошу...
как связать ViewController со Storyboard Программирование iOS
Помогите пожалуйста связать ViewController с Storyboard. Создала iOS Empty Project. Подключила следующие frameworks: QuartzCore.framework OpenGLES.framework GLKit.framework Затем создала...
Программирование iOS ScrollView problem http://www.cyberforum.ru/ios-dev/thread630208.html
Всем привет! :) Подскажите пожалуйста. Такая задача: есть много фотографий, около 300, необходимо используя ScrollView выводить на экран по одному изображению, прокручивая его показывать...
Программирование iOS Разработка и публикации в App Store 1. Прошу совета у тех, кто уже запускал свои приложения\игры в App Store. Где в сторе можно найти требования к приложению, иконкам, скриншотам и т.д? Прошелся по каталогу, в основном скриншоты... подробнее

Показать сообщение отдельно
envoy2000
0 / 0 / 0
Регистрация: 29.07.2012
Сообщений: 7
04.08.2012, 20:36  [ТС]
Цитата Сообщение от zulkis Посмотреть сообщение
Во-первых метода (addSubview:imageView - у Вас нет, ну это вероятно ошибка была допущена со вторым двоеточием. Ну да ладно.
Во-вторых, если вы 1 раз добавили кучку ImageView, при следующем "добавлении", а правильнее будет сказать "отображении" новых изображении, Вам нужно не добавлять заного новые UIImageView, а только подставить новые картинки в них.

Ваша ошибка в том, что вы даже не релизите предыдущие UIImageView, ясное дело память кончается - система убивает приложение.
Так вот - самый простой вариант - пробегать по всем -(NSArray*)subviews у UIScrollView, и подменять картинки.
Самый безболезненный вариант:
1. Выставляете contentSize на размер всех Ваших картинок.
2. Отрисовываете столько UIImageView на UIScrollView, сколько может уместиться их в его bounds.size;
Затем, при вызове -(void)scrollViewDidScroll; - вы должны подсчитать индексы для картинок в зоне видимости и засетить в лежащие на scrollView imageView Ваши картинки, подставив соответствующий фрейм для каждого UIImageView.
Но это более сложный, так сказать, вариант.

Опять же - ответ на Ваш вопрос - Вы не очищаете subviews scrollView (очищаете, но реально retain count > 0 получается все равно) перед повторным наложением новых imageView.
А точнее - Я лично не вижу вызова [imageView release]; - вообще нигде. После его alloc]init] в локальный указатель.
И что это такое:
C
1
2
self.image = nil;
self.imageView = nil;
?
Спасибо за ответ!
Я использую в проекте Automatic Reference Counting , поэтому и нет [release], хотя пробовал и без ARC все-равно также вылетало. СontentSize на размер всех картинок выставить не могу, т.к картинок очень много, получиться очень длинная полоса с картинками, большого размера (пробовал уже, приложение вылетает при начальной загрузке). "Так вот - самый простой вариант - пробегать по всем -(NSArray*)subviews у UIScrollView, и подменять картинки." - так я вроде так и делаю используя в цикле метод [scrollView1 insertSubview:imageView atIndex: position];, предварительно удалив старый слой:
NSArray *subviews = [scrollView1 subviews];
[ [ subviews objectAtIndex: position ] removeFromSuperview];
"И что это такое:
C
1
2
self.image = nil;
self.imageView = nil;
?[/QUOTE]" - это обнуление текущих объектов image и imageViev (прочитал где-то что так можно, наверное это неправильно)
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru