Iphone 从tableview到另一个视图的导航

Iphone 从tableview到另一个视图的导航,iphone,ios,objective-c,uitableview,storyboard,Iphone,Ios,Objective C,Uitableview,Storyboard,我在使用故事板的表格视图应用程序中工作。我要在选择上执行事件 表视图中单元格的名称。因此,当我选择一个单元格元素时,下一个视图(detailview)应该是 打开以显示更多详细信息 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { self.dv = [[Detail alloc]initWithNibName:@"Detail" bundle

我在使用故事板的表格视图应用程序中工作。我要在选择上执行事件

表视图中单元格的名称。因此,当我选择一个单元格元素时,下一个视图(detailview)应该是

打开以显示更多详细信息

 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
 {  
    self.dv = [[Detail alloc]initWithNibName:@"Detail" bundle:nil];


    dv.dic = [self.arr1 objectAtIndex:indexPath.row];


    [self.view addSubview:dv.view];
}
相反,请尝试以下方法:

 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{  
       self.dv = [[Detail alloc]initWithNibName:@"Detail" bundle:nil];


        dv.dic = [self.arr1 objectAtIndex:indexPath.row];


       [self presentViewController:dv animated:YES completion:nil];

}
如果您想退出,请使用以下代码:

[self dismissViewControllerAnimated:YES completion:nil];

您应该使用导航控制器,在选择行时,将局部视图推入其中

创建导航控制器:选择tableview控制器和go Editor/Embed in/navigation controller

然后做:

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

{
    // dv = [Detail alloc] initWithNibName:@"Detail" bundle:nil];
    dv = [storyboard instantiateViewControllerWithIdentifier:@"DetailViewController"];
    dv.dic = [self.arr1 objectAtIndex:indexPath.row];
    [self.navigationController pushViewController:dv];
}
如果您不使用故事板,则注释行为

或者你也可以按照阿卜杜拉的建议去做,但是用

[self dismissViewControllerAnimated:YES completion:nil];

在序列图像板中,将一段从视图底部的viewcontroller图标拖动到下一个要分段的viewcontroller。确保视图嵌入到导航控制器中。按下tableviewcontroller和目标视图控制器之间出现的箭头,并确保使用序列标识符对其进行标记。然后在您描述的方法中,确保他们使用if语句选择了正确的索引路径并写入

[self performSegueWithIdentifier:@"theNameOfYourIdentifierFromTheStoryboard"];
话虽如此,我认为你应该研究大量的信息


阅读以下内容:作为开始。

可能重复的问题:不要发布同一个问题两次。被@occulus hh;当场抓获)不要在此线程上给出答案。请在原始线程上执行。重复问题的不同线程是浪费时间的。dv的本地声明隐藏实例变量。请建议我。编辑答案以解决问题,但是我不建议创建实例变量,而是在用户选择行时创建变量。说明:如果用户没有选择任何行,则实例变量仍会被创建,但不会被使用,因此会被毫无理由地使用内存。当我选择行时,它不会执行任何事件,应用程序会崩溃:(尝试self.dv=[[Detail alloc]init]而不是self.dv=[[Detail alloc]initWithNibName:@“Detail”bundle:nil];他正在使用序列图像板,因此没有nib文件。请使用dv=[storybard InstanceEviewController WithiIdentifier:@“DetailViewController”];并将详细视图的序列图像板ID设置为“DetailViewController”。