0
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
        NSLog((@"This is didSelectRowAtIndexPAth"));
        DetailViewController *detailViewController = [[DetailViewController alloc] init];
        detailViewController.myDictionary = [self.placeArray objectAtIndex:[indexPath row]]

// この MyDictionary NSdictionary は、ここに取り込まれた他の viewController で宣言されます..

        NSLog(@"My Dictionary: This is a MasterView one %@",detailViewController.myDictionary);

        UIStoryboard *mystoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
        detailViewController = [mystoryboard instantiateViewControllerWithIdentifier:@"DetailViewController"];

        //The below NSlog is showing the content , its not null still in next viewcontroller same variable showing null content

        NSLog(@"My Dictionary: This is a MasterView two %@",detailViewController.myDictionary);
        [self performSegueWithIdentifier:@"showDetail" sender:self];

}
4

2 に答える 2

0

選択したものから、prepareForSegue メソッドを使用するだけです (既に使用していることを願っています)。xib を介して、またはプログラムで表示ビュー コントローラー オプションを設定し、そこで停止します。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
DetailViewController *detailViewController = [[DetailViewController alloc] init];
        detailViewController.myDictionary = [self.placeArray objectAtIndex:[indexPath row]];  
}

did_select_method を編集して試してみてください。

于 2013-11-12T05:29:42.720 に答える
0

PrepareForSegueこの目的のために 使用します

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ DetailViewController * detailViewController = (DetailViewController*)segue.destinationViewController; detailViewController.myDictionary = [self.placeArray objectAtIndex:index]; }

于 2013-11-12T05:11:20.640 に答える