У меня есть UIViewController
вызова Родителя, и у меня есть UIView
подвида внутри Родителя. Я хочу добавить один из двух возможных вариантов: UIViewControllers
, A и B, as subviews of Родитель. A - UIViewController
с UITableView
. Я установил datasource
и delegate
из UITableView
в A - A.UITableView Делегат подраздела ViewController
Затем я могу «успешно» добавить к Родитель, устанавливая данные для следующим образом:
AViewController *vc = (AViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"A"];
NSMutableArray *data = [@[@"foo",@"bar",@"baz"] mutableCopy];
vc.posts = data;
[self.container addSubview:vc.view];
успешным, я имею в виду, что я вижу TableView с правильными данными в клетках. А именно foo, bar и baz как строки.
Моя проблема: Когда я пытаюсь прокрутить табличное изображение, он падает. При попытке выбрать ячейку, я получаю следующее исключение:
Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[_UIAppearanceCustomizableClassInfo
tableView:didSelectRowAtIndexPath:]: unrecognized selector sent to instance 0x78c64430'
это работает! теперь, есть ли что-нибудь особенное, что мне нужно сделать, если у A есть навигационный контроллер, прикрепленный к нему? – Apollo
Если контроллер просмотра A встроен в контроллер навигации в вашем раскадровке, вы должны создать экземпляр самого контроллера навигации (например, 'UINavigationController * navCtrl = (UINavigationController *) [self.storyboard instantiateViewControllerWithIdentifier: @" Nav "];'), а затем используйте свойство 'topViewController', чтобы получить ссылку на vc A (например,' AViewController * vc = (AViewController *) navCtrl.topViewController; '). Затем вы можете установить 'data' на vc A и добавить' navCtrl.view' в свой вид контейнера. – pbasdf