Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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
Ios UITabBar的Topview控制器_Ios_Objective C_Iphone_Ipad - Fatal编程技术网

Ios UITabBar的Topview控制器

Ios UITabBar的Topview控制器,ios,objective-c,iphone,ipad,Ios,Objective C,Iphone,Ipad,我有一个显示父文件夹详细信息的表视图。当我选择一行时,我希望它显示相应子文件夹的内容,该子文件夹有两个使用选项卡栏控制器的窗口——一个用于显示明细表,另一个用于显示图形 问题是我在找到的代码无法显示选定索引路径中的内容,而是一个0或任何手动输入数字的固定索引。我可能是错误的,这会影响显示的结果,我不确定 我的代码可以在即时窗口中显示正确的内容,但是链接到选项卡栏控制器的第二个窗口根本不显示任何内容。我交换了窗口,同样的问题-第一个窗口显示,第二个窗口不显示 这是我的备考代码: -(void)pr

我有一个显示父文件夹详细信息的表视图。当我选择一行时,我希望它显示相应子文件夹的内容,该子文件夹有两个使用选项卡栏控制器的窗口——一个用于显示明细表,另一个用于显示图形

问题是我在找到的代码无法显示选定索引路径中的内容,而是一个0或任何手动输入数字的固定索引。我可能是错误的,这会影响显示的结果,我不确定

我的代码可以在即时窗口中显示正确的内容,但是链接到选项卡栏控制器的第二个窗口根本不显示任何内容。我交换了窗口,同样的问题-第一个窗口显示,第二个窗口不显示

这是我的备考代码:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

    if ([[segue identifier] isEqualToString:@"showFileDetails"]){

        UINavigationController * navigate = segue.destinationViewController;

        //create a reference to the index path
        NSIndexPath * indexPath = [self.tableView indexPathForSelectedRow];

        FileDetailsVC * fileDetails = (FileDetailsVC *)[navigate.viewControllers objectAtIndex: 0];

        //Create a reference to the parent folder that is being selected 
        ParentFile * selectedFile = (ParentFile*)[self.fetchedResultsController objectAtIndexPath:indexPath];

        //reference it to the the next view
        fileDetails.selectedFile = selectedFile;
    }

}
我尝试在[navigate.viewControllers objectAtIndex:]中使用“indexPath”;并将objectAtIndex更改为objectAtIndexPath,但它会给出错误消息“指向整数的指针不兼容…”和“对于'NSArray'没有可见的@interface声明选择器'objectAtIndexPath'


希望没什么难解决的。谢谢

Segue的目标控制器是UIDABBARC控制器,而不是UINavigationController。您没有在“其他”选项卡中为视图控制器设置任何数据源,因此没有看到任何内容

UITabBarController * tabBarController = segue.destinationViewController;
ViewControllerForTabItem2 * controller = (ViewControllerForTabItem2 *)[tabBarController.viewControllers objectAtIndex:1];
controller.dataSource = selectedFile; 

非常感谢。我以为是那样的小事。现在工作正常。您是否知道如何通过tabbar通过导航将详细信息从Tableview传递到视图?我想让导航控制器用于另一个链接,但它会抛出错误,因为它无法识别细节。您能否更具体地说明您想要实现的目标。我想实现与此问题完全相同的结果,但是,在两个视图中的一个视图中,我嵌入了一个导航控制器,因为它没有正确显示。这也有助于将其命名为不同于添加按钮的选项卡栏中的第一个vc。假设您将导航控制器命名为nav,则nav.topViewController是您的View 1控制器。您可以将selectedFile设置为View 1控制器。