gpt4 book ai didi

ios - UITabBar 的顶 View Controller

转载 作者:行者123 更新时间:2023-11-29 02:36:13 26 4
gpt4 key购买 nike

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

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

我的代码可以很好地在即时窗口中显示正确的内容,但链接到选项卡栏 Controller 的第二个窗口根本不显示任何内容。我已经交换了窗口和同样的问题 - 第一个窗口显示,第二个没有。

这是我准备转场的代码:

-(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 的目标 Controller 是 UITabBarController 而不是 UINavigationController。您没有在另一个选项卡中为 View Controller 设置任何数据源,因此您看不到任何内容。

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

关于ios - UITabBar 的顶 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26332725/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com