1

Прежде всего ... я итальянский, поэтому я сожалею о своем плохом английском!Навигационный контроллер и бар - Управление памятью

так ... это мое приложение: я использую навигационный контроллер: в первом взгляде есть 10 кнопок и каждая кнопка называет такие функции, как это:

[self pushViewController:nameview animated:YES]; 

в другую UIViewController ! Итак, у меня есть 11 uiviewcontroller! Каждый контроллер decleared как здесь

@interface ... 
IBoutlet UIViewController *viewcontroller; 
... 
@property (nonatomic, retain) IBOutlet UIViewController *viewcontroller; 

Наконец я должен сказать, что я работаю с IB!

Моя проблема в том, что мое приложение не освобождает память! , когда я нахожусь в поле зрения, и я нажимаю на «backbuttonitem» (созданный IB, а не мной) последнее представление не освобождается (опять же, извините за мой плохой английский) ... и если пользователь видит все 10 просмотров, приложение получает предупреждающий массаж (с низкой памятью)!

Как я могу снять последнюю видовую витрину перед действием popviewcontroller?

спасибо: D

ответ

1

При нажатии на контроллер представления на контроллер навигации, Вы должны освободить его в качестве контроллера навигации в настоящее время владеет. Например вы могли бы сделать следующее:

UIViewController *controller = [[UIViewController] initWithNibName:@"Nib" bundle:nil]; 
[self pushViewController:controller animated:YES]; 
[controller release]; 

Затем, когда вы используете popViewControllerAnimated: навигационный контроллер будет заботиться о убедившись, что контроллер представления освобождается из памяти.

+0

извините, но я действительно новичок: P так ... мой навигационный контроллер «X», я в вид «А» и я хочу, чтобы нажать на вид «B» я 've пытался с этим: UIViewController * B = [[UIViewController] initWithNibName: @ "Nib" bundle: nil]; [self pushViewController: B animated: YES]; [B release]; , но xcode скажите мне «ожидаемый: до] токен» O_O где ошибка? – JAA

+0

Я не понимаю, почему я должен это делать UIViewController * controller = [[UIViewController] initWithNibName: @ "Nib" bundle: nil]; , потому что я использовал IB для создания uiviewcontroller ... – JAA

+0

Вы не должны использовать IB для создания контроллера вида, если он не отображается сразу. Вы действительно должны создавать контроллер только тогда, когда его нужно показывать. – rickharrison

Смежные вопросы