0

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时,上面的代码没有传递数据,它是空白的。为什么数据没有传递。缺少什么代码?

请帮帮我。非常感谢您的帮助。

提前致谢。

4

2 回答 2

3

你用过

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

       }

这是

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

       }

我希望你打错了如果不是这个,请分享你的结果

于 2013-03-21T07:43:56.060 回答
0

由于我从情节提要中进行了 segue,所以没有调用 didselect 方法-

(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;

}

这工作得很好。我必须检查它是否是正确的实施方式,否则它现在工作正常。

于 2013-03-21T12:12:24.197 回答