我有一个应用程序,其中我有tableview,其中我在tableview中返回3行。当我在表格视图中选择一个特定的行时,应该打开另一个应该显示项目列表的tableview,当我选择一个特定的项目时,该特定项目的值应该设置为上一个tableview的textlabel。
答案 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并使用该属性。从第一个视图到第二个视图设置字符串,在第二个视图中使用该字符串