Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.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
Iphone iOS推送视图控制器不工作_Iphone_Objective C_Ios_Xcode - Fatal编程技术网

Iphone iOS推送视图控制器不工作

Iphone iOS推送视图控制器不工作,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,我已将uitabbarcontroller设置为窗口的根视图。选项卡栏中的一个选项卡被设置为uitableviewcontroller的子类。我试图做的是在触摸其中一行时显示一个细节视图,因此我实现了 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { if (!detailViewController) { detailViewControl

我已将uitabbarcontroller设置为窗口的根视图。选项卡栏中的一个选项卡被设置为uitableviewcontroller的子类。我试图做的是在触摸其中一行时显示一个细节视图,因此我实现了

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

if (!detailViewController) {        
detailViewController = [[ItemDetailViewController alloc] init]; 

}   
[detailViewController setEditingArray:   
[list objectAtIndex:[indexPath row]]];  
[[self navigationController] pushViewController:detailViewController animated:YES];

}
在我的表控制器中,但当我选择行时,我的detailview不会弹出。我添加了nslog以查看函数是否启动——确实启动了,但我的detailview仍然没有显示。有什么想法吗?
谢谢。

您没有导航控制器(
[self-navigationController]
正在返回
nil
)。与其将表视图控制器作为选项卡的根,不如将选项卡的根设置为包含表视图控制器的导航控制器。现在,您可以从表视图控制器中推送详细信息控制器。

应将
表视图控制器
放置在
导航控制器
中。 我猜您是在选项卡栏中创建了
tableView

TableViewControllerSubclass* table = [[TableViewControllerSubclass alloc] init];

UINavigationController* tableNav = [[UINavigationController alloc] initWithRootViewController:table];

mainController = [[UITabBarController alloc] init];
mainController.viewControllers = [NSArray arrayWithObjects:tableNav,..., nil];