Tableview的代码:
-(void)tableView:(UITableView *)tableView didselectRowAtIndexPath:(NSIndexPath *)indexPath{
ViewControllerDisplayMsg *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"viewController3"];
cellvalue=[array objectAtIndex:indexPath.row];
detail.DisplayMsgString = cellvalue;
[self.navigationController pushViewController:detail animated:YES];
}
viewController3中的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
self.DisplayMsgLabel.text= self.DisplayMsgString;
}
上面的代码在打开viewcontroller3时没有将数据传递给空白。为什么数据没有通过。缺少哪些代码?
请帮助我。真的很感激帮助。
先谢谢。
答案 0 :(得分:3)
您已使用
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{
}
是
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
}
我希望你错误输入它,如果不是这个,请分享你的结果
答案 1 :(得分:0)
因为我从故事板中得到了segue所以没有被称为doselect方法 -
(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// test segue.identifier if needed
ViewControllerDisplayMsg *viewController = segue.destinationViewController;
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
// set properties of viewController based on selection indexPath
cellvalue=[array objectAtIndex:indexPath.row];
NSLog(@"str : %@",cellvalue);
viewController.DisplayMsgtext = cellvalue;
}
这非常合适。如果这是正确的实施方式,我必须检查它,否则它现在正常工作。