Кажется, я не могу установить какую-либо связь между моим контроллером основного представления и контроллером табличного представления, который отображается внутри всплывающего представления (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 табличного представления к основному VC. Я перепробовал всевозможные выходы, идущие в разных направлениях, и попытался создать новый объект в didSelectRowAtIndexPath для обработки имени файла, поступающего из табличного представления. Я могу передать имя файла новому объекту, но когда я пытаюсь отправить его в основной VC, оно снова равно нулю. Все, что я отправляю в свой основной VC, пока это всплывающее окно активно, становится нулевым.
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController {
NSLog(@"%@", handler.addressForImageFile);
self.popoverController = nil;
[self.popoverController release];
}
Есть ли какая-то причина, по которой мой основной VC не получит ничего, кроме нулевых объектов из моего табличного представления? Я провел дни, пробуя так много разных вещей. Я чувствую, что в моих знаниях о том, как работают всплывающие окна, есть фундаментальный пробел. Наверняка есть простой способ отправить строку обратно в мой основной VC, когда она выбрана в табличном представлении?
Большое спасибо за любую помощь!