В приложении на основе панели вкладок контроллер выпускает данные другого ! !

Я сделал приложение ViewBased, в делегате приложения я установил UITabBarCotntroller, в приложении у меня есть другой контроллер представления, два из них отображают текст в UITextView и метках, другой - мой "ShakeController" UIViewController, в котором я установил UIAcelerometerDelegate, в нем я создаю экземпляр UIAccelerometer, в методе, который управляет встряхиванием, все работает нормально, в этом контроллере я также установил UIImageView, чтобы сделать простую анимацию, в представлении Did Load метод, который я установил мой imageView.animation в массив UIImage.

Моя проблема: когда приложение запускается, я использую ViewControllers, и все работает нормально, но когда я нажимаю элемент ShakeController на панели вкладок, а затем, когда я возвращаюсь к другим контроллерам, метка выглядит так: метка и текстовый вид: Lorem ipsum..... текст UItextView в ИБ.

Я заметил, что если я прокомментирую инициализацию моего imageView для массива изображений, я смогу перемещаться по элементам (от контроллера представления к другому) без изменения метки и оставаться тем, чем я хочу, чтобы они были.

Обратите внимание, что два контроллера находятся в UINavigationController.

(я использую @proprety (неатомный, сохраняемый), затем @synthesize... затем releqse в Dealloc для текстового просмотра меток и моего uiimageView)

Не знаю что делать всем спасибо


person Flodev03    schedule 21.03.2010    source источник
comment
Возможно, если вы добавите больше восклицательных знаков, на ваш вопрос ответят быстрее.   -  person Tobias Cohen    schedule 22.03.2010


Ответы (1)


Довольно сложно понять, о чем вы здесь спрашиваете... Я перечитал это три раза и все еще не уверен!

Поскольку вы обнаружите, что проблема (данные в другом представлении «выпускаются») исчезают, когда вы комментируете инициализацию анимации imageView, я бы сделал вывод, что вы используете большой объем памяти iPhone, что означает, что он автоматически выгружается любые невидимые контроллеры представления. Он сделает это довольно быстро, чтобы сохранить память.

Вы не говорите, сколько изображений в вашей анимации, но всего 10 изображений среднего размера может быть достаточно, чтобы вызвать проблемы с памятью; если вы хотите использовать 20/30+, вам нужно искать другой способ.

Вы можете попробовать сначала загрузить несколько кадров в свое изображение, а затем поменять их местами по повторяющемуся таймеру. Но если это что-то большее, чем очень простая анимация, вам нужно вместо этого застрять в основной анимации: http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/CoreAnimation_guide/Articles/WhatisCoreAnimation.html#//apple_ref/doc/uid/TP40004689

person h4xxr    schedule 21.03.2010