Кажется, я не могу установить какую-либо связь между моим главным контроллером представления и контроллером табличного представления, который отображается в представлении Popover (iPad).
Я настраиваю табличное представление внутри контроллера навигации обычным способом:
// create popover
if (self.popoverController == nil) {
filesViewController = [[[MyTableViewController alloc] initWithFiles:fileList] autorelease];
UINavigationController *navCtrl = [[[UINavigationController alloc] initWithRootViewController:filesViewController] autorelease];
self.popoverController = [[UIPopoverController alloc] initWithContentViewController:navCtrl];
self.popoverController.delegate = self;
// resize popover
self.popoverController.popoverContentSize = CGSizeMake(320.0, 44 + [fileList count] * 44);
}
Все работает нормально, и я передаю массив имен файлов (fileList) в табличное представление, которое содержится в табличном представлении как массив с именем listOfFiles. В табличном представлении отображаются имена файлов, и когда пользователь выбирает их, я хочу передать это имя обратно в контроллер основного представления. Однако я не могу получить какую-либо связь, возвращающуюся из метода didSelectRowAtIndexPath табличного представления в главный виртуальный канал. Я пробовал все виды розеток, идущих в разных направлениях, и я пытался создать новый объект в didSelectRowAtIndexPath для обработки имени файла, полученного из табличного представления. Я могу передать имя файла новому объекту, но когда я пытаюсь отправить его в главный VC, оно снова становится нулевым. Все, что я посылаю своему главному виртуальному каналу, пока этот поповер активен, считается нулевым.
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController {
NSLog(@"%@", handler.addressForImageFile);
self.popoverController = nil;
[self.popoverController release];
}
Есть ли какая-то причина, по которой мой главный виртуальный канал не получит ничего, кроме нулевых объектов, из моего табличного представления? Я провел дни, пробуя так много разных вещей. Мне кажется, что в моих знаниях о том, как работают поповеры, есть какой-то фундаментальный пробел. Конечно, есть простой способ отправить строку обратно в мой главный виртуальный канал, если она выбрана в представлении таблицы?
Большое спасибо за любую помощь!