NavigationController синхронизирует выполнение подпредставлений с представлением более высокого уровня - PullRequest
1 голос
/ 13 октября 2011

Я использую NavigationController для предоставления разных представлений. В одном случае я хочу использовать ChildView, чтобы получить некоторые данные от пользователя и вернуть эти данные в ParentView. Родительское представление использует метод pushViewController из метода (IBAction), поскольку оно отвечает на выбор в SegmentedController: то есть различные кнопки в SegmentedController выдвигают разные дочерние представления. Кажется, проблема в том, что метод pushViewController разветвляет новый процесс, и ParentView продолжает выполнять IBAction, не ожидая возврата ChildView: то есть после вызова ChildView viewWillAppear. Вот последовательность из моего файла NSLog, которая показывает, что это происходит. Вопрос заключается в том, как я могу обеспечить, чтобы родитель дождался окончания работы ребенка, прежде чем пытаться получить доступ к данным.

eventAction: Child selected
ChildView: initWithNibName called
ChildView: viewDidLoad called
ParentView: viewWillDisappear called
ChildView: viewWillAppear called
ParentView: eventAction: after pushing ChildView: data = 0
ChildView: numberOfRowsInSection called
ParentView: viewDidDisappear called
ChildView: viewDidAppear called
ChildView: pickerView: didSelectRow: data = 3
ChildView: viewWillDisappear called
ParentView: viewWillAppear called
ChildView: viewDidDisappear called
ParentView: viewDidAppear called
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...