У меня есть viewController
с containerView
. В этом containerView
по умолчанию view
есть button
, который вызывает modular
viewController
с экраном входа в систему. Если вход выполнен успешно, modular
viewController
равен dismissed
. Шаблон protocol
- delegate
отправляет информацию обратно на viewController
, сообщая ему о загрузке другого view
в containerView
.
- (void)loginFunction:(NSString *)delegateString {
NSLog(@"%@", delegateString);
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MyTrip" bundle:nil];
MyTripViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"myTrip"];
[self addChildViewController:viewController];
[self addChildViewController:viewController];
viewController.view.frame = [self.view bounds];
viewController.view.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
[viewController didMoveToParentViewController:self];
NSLog(@"VIEWCONTROLLER %@", viewController);
}
delegate
отвечает, как и ожидалось, но код для изменения view
в containerView
не работает, и я понятия не имею, почему. Я попытался с помощью простого тестового проекта, чтобы заставить работать код containerView
, и там он работает нормально. Но в остром проекте новый containerView
не загружается. Он не обрабатывает sh, но в выводе есть текст предупреждения:
Попытка загрузить представление контроллера представления, пока он освобождается, не разрешена и может привести к неопределенному Поведение
Я пытался найти решение для этого предупреждения, но 1) я не совсем понимаю его и 2) не знаю, как обойти это.
Итак, как мне заставить containerView
работать должным образом и как исправить проблему с предупреждением, если это является причиной того, что view
не загружается?
I Следует отметить, что я пробовал большинство предложенных решений этого предупреждения в SO и других местах, но безрезультатно.