当表确实在索引方法中选择行时,如何在tableview中显示项目列表?

时间:2011-07-18 12:06:49

标签: iphone objective-c tableview

我有一个应用程序,其中我有tableview,其中我在tableview中返回3行。当我在表格视图中选择一个特定的行时,应该打开另一个应该显示项目列表的tableview,当我选择一个特定的项目时,该特定项目的值应该设置为上一个tableview的textlabel。

4 个答案:

答案 0 :(得分:1)

-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    if (tableView != secondTableview) {
        self.secondTableviewArray =[[NSMutableArray alloc]initWithObjects:@"secondfirst",@"secondSecond",nil];
        [secondTableview reloadData];
    }
}

答案 1 :(得分:0)

如果要在点击行时打开新的表格视图,那么您可以创建新的xib文件,并在下面的代码中调用如下定义:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    [tableView deselectRowAtIndexPath:indexPath animated:NO];
    XMLBooksViewController * xmlBooksViewController = [[XMLBooksViewController alloc] initWithNibName:@"DetailView" bundle:nil];
    XMLBooksAppDelegate * appDelegate = [UIApplication sharedApplication].delegate;
    xmlBooksViewController.author = [appDelegate.authors objectAtIndex:indexPath.row];
    [self.navigationController pushViewController:xmlBooksViewController animated:YES];

    [xmlBooksViewController release];
}

在下一个文件中,您可以定义另一个表视图,因此列表或项目将以表格视图的形式显示。

答案 2 :(得分:0)

在显示之前,将第二个控制器(将出现的控制器)传递给第一个控制器的弱引用。一旦第二个视图控制器出现并且用户已经进行了选择(您可以在(-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;)中捕获它,请向第一个发送消息,并给出所选的值。

第一个视图控制器,然后可以存储新值,甚至解除/弹出第二个 这也可以通过编写自己的委托协议来实现,因此第一个符合协议,并且是第二个委托。

答案 3 :(得分:0)

在第二个视图中使用NSString并使用该属性。从第一个视图到第二个视图设置字符串,在第二个视图中使用该字符串