如何将所选行的值显示到下一个视图控制器?

时间:2013-06-17 16:30:58

标签: ios objective-c uitableview

我有一个数组。这个数组从TableView中的Web服务加载。

tableview中有所有BranchId。我想在选中的行时显示所选branchId的显示字段。

例如,选择" 1234"在tableview

打开新视图控制器(DetailViewController):

BranchID:1234

BranchName:ABCDEFGH

我在网络服务中有Branchname

TableviewCodes:http://pastie.org/8052416

如何在新视图控制器上显示所选ID的详细信息?感谢

2 个答案:

答案 0 :(得分:2)

有不同的方法,这里有一个: 从你的第一个viewController:

 NSDictionary* dict = [NSDictionary dictionaryWithObject:
                          [NSNumber numberWithInt:theIdYouWantToSend]
                                                     forKey:@"index"];

[[NSNotificationCenter defaultCenter] postNotificationName: @"getID" object: dict];

现在来自新的视图控制器(detailViewController),在viewDiDLoad方法中:

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getID:) name:@"getID" object:nil];

并创建方法:

-(void)getID:(NSNotification*)notification{
    NSDictionary* dict = (NSDictionary*) notification.object;

}

您可以轻松地从字典中获取ID

myId = [dict objectForKey:@"index"];

答案 1 :(得分:1)

你应该通过以下方式修改didSelectRow方法:

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

     DetailViewController *second=[[DetailViewController alloc] 
initWithNibName:@"DetailViewController" bundle:nil] ;

    second.branchId = [myArray objectAtIndex:indexPath.row];

    [self presentModalViewController:second animated:YES];
}