Добавить представление дочернего контроллера представления в подпредставление родительского контроллера представления
Я хочу добавить tableViewController в качестве дочернего контроллера представления containerViewController (показано ниже). По словам AppleView Controller Руководство по программированию Я могу добиться этого с помощью следующих строк кода внутри моего containerViewController:
[self addChildViewController:tableViewController];
[self.view addSubview:tableViewController.view];
[tableViewController didMoveToParentViewController:self];
На самом деле, это работает отлично. Теперь проблема в том, что я не хочу добавлять представление tableViewController как подпредставление корневого представления containerViewController. Вместо этого я хочу добавить его как подпредставление контейнераView (см. Изображение), которое само по себе является подпредставлением корневого представления containerViewController. Поэтому я изменил приведенный выше код следующим образом:
[self addChildViewController:tableViewController];
[self.contentView addSubview:tableViewController.view];
[tableViewController didMoveToParentViewController:self];
Теперь, когда я запускаю приложение, оно сразу вылетает с этой ошибкой:
Завершение приложения из-за необработанного исключения «UIViewControllerHierarchyInconsistency», причина: «дочерний контроллер представления: должен иметь родительский контроллер представления: но фактический родительский элемент:»
В чем здесь проблема? Разве невозможно добавить представление childViewController к конкретномусуб вид его контейнера ViewController? Или как я могу добиться этого без ошибки в иерархии контроллера представления?