Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Uitableview 无法在主视图控制器和popover视图之间传递消息_Uitableview_Uinavigationcontroller_Uipopovercontroller_Popover_Uipopover - Fatal编程技术网

Uitableview 无法在主视图控制器和popover视图之间传递消息

Uitableview 无法在主视图控制器和popover视图之间传递消息,uitableview,uinavigationcontroller,uipopovercontroller,popover,uipopover,Uitableview,Uinavigationcontroller,Uipopovercontroller,Popover,Uipopover,我似乎无法在我的主视图控制器和显示在Popover视图(iPad)中的表视图控制器之间进行任何通信 我正在以通常的方式在导航控制器内设置表视图: // create popover if (self.popoverController == nil) { filesViewController = [[[MyTableViewController alloc] initWithFiles:fileList] autorelease]; UINavigationCont

我似乎无法在我的主视图控制器和显示在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的数组保存在表视图中。表视图显示文件名,当用户选择一个文件名时,我希望将该文件名传递回主视图控制器。但是,我无法从表视图的didselectRowatinedexPath方法返回到主VC。我尝试了各种不同方向的输出,并尝试在didSelectRowAtIndexPath中创建一个新对象来处理来自表视图的文件名。我可以将文件名传递给新对象,但当我尝试将其发送到主VC时,它再次为空。当popover处于活动状态时,我发送给主VC的所有内容都显示为空

    - (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController {

    NSLog(@"%@", handler.addressForImageFile);

    self.popoverController = nil;
    [self.popoverController release];
}
我的主VC除了从我的表视图中获取空对象外,什么也得不到,这有什么原因吗?我花了好几天的时间尝试了很多不同的东西。我觉得在我对流行音乐如何工作的认识上有一些基本的差距。当从表视图中选择字符串时,是否有一种简单的方法将其发送回主VC


非常感谢你的帮助

可能有一种更好的方法,但是根据传递字符串的目的,一种方法可能是使用NSUserDefaults。

谢谢。我最终解决了这个问题,将主视图控制器用作表视图的数据源和委托。但愿我几天前就想到了这一点,并为自己省下了一大堆痛苦!值得注意的是,如果您最终将主视图控制器用作数据源/委托,这个答案可以为您节省一些谷歌搜索-