В приложении на панели вкладок контроллер выпускает данные другого! ! - PullRequest
0 голосов
/ 22 марта 2010

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

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

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

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

(я использую @proprety (nonnatomic, retain), затем @synthesize ... затем освобождаю в dealloc для надписей textview и моего uiimageView)

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

1 Ответ

0 голосов
/ 22 марта 2010

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...