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