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

ストーリーボードからセグエをしていたので、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 に答える