У меня есть приложение, где я пытаюсь рекурсивно загружать представления. Таким образом, у меня есть один вид (theViewController), который способен переходить к другому виду того же типа (theViewController). У меня есть рекурсия, работающая нормально, и кнопки на кнопках работают нормально. Но я пытаюсь реализовать функцию, которая выполняет некоторую работу, а затем выгружает текущее представление.UINavigationController - same viewController
В другом месте в моем коде у меня есть следующий:
MyAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
UINavigationController *navigationController = [delegate navigationController];
[navigationController popViewControllerAnimated:YES];
Также в конце функции, которая делает некоторую работу для этой точки зрения (theSecondViewController), но он загружает другую точку зрения (theViewController).
Моя проблема в том, что я использую этот САМОЙ код в моем элементе управленияViewView, который он ломает. Ну, вроде. Я думаю, что это происходит, и отключает контроллер, но когда он пытается перезагрузить вид (theViewController) слева от него (над ним, однако вы хотите об этом подумать), он умирает. После того, как в голубой луны она будет выплевывать:
malloc: *** error for object 0xfb9640: double free
*** set a breakpoint in malloc_error_break to debug
Но обычно он просто умирает без ошибок (по крайней мере, я думаю, вот что этот материал):
GNU gdb 6.3.50-20050815 (Apple version gdb-966) (Tue Mar 10 02:43:13 UTC 2009)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-apple-darwin".sharedlibrary apply-load-rules all
Attaching to process 15739.
Любая помощь в понимании того, почему это могло бы умереть при перезагрузке страницы было бы очень полезно.
Обновление: Если возникла ошибка с наконечником, проблема не возникла бы раньше? Я считаю, что это правильно. Я просто не знаю, куда будет идти код после [navigationController popViewControllerAnimated: YES]; Я думал, что он перейдет к viewDidLoad следующего вида. Но у меня есть сообщение NSLog, и оно не появляется.
Навигационная я могу сделать до сих пор это:
userViewController -> theViewController -> ... -> theViewController -> theSecondViewController
Если его прямо и прямо он работает отлично. Код выше работает вSecondViewController, но не theViewController