在准备中如何使用参数传递数据

时间:2013-07-26 12:38:22

标签: ios objective-c storyboard segue

在故事板中我想将数据从一个视图控制器传递到另一个视图控制器,但只有属性是共享的,但我如何通过使用参数(方法)来共享数据。在下面我尝试过这样的

Tableview选择方法

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    [self performSegueWithIdentifier:@"ASEventDetail" sender:self];
}

在准备segue时,我在方法“[vc loadDict:[eventArr objectAtIndex:0]]

中传递参数值
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    // Make sure your segue name in storyboard is the same as this line
    if ([[segue identifier] isEqualToString:@"ASEventDetail"]){
        // Get reference to the destination view controller
        ASEventDetail *vc = [segue destinationViewController];        
        // Pass any objects to the view controller here, like...
        [vc loadDict:[eventArr objectAtIndex:self.view.tag]];
    }
}

请问任何人帮助我使用故事板中的方法将数据从一个数据传递到另一个。

2 个答案:

答案 0 :(得分:2)

您可以通过属性或方法传递数据(只要该方法存储数据)。但是,您不应该使用loadDict方法更新用户界面。

而是将数据保存在属性或实例变量中,然后在目标控制器上的viewWillAppear中,根据数据更新UI。

答案 1 :(得分:1)

在目标视图控制器上设置自定义属性,使用此方法在所有视图控制器中传递属性

 ASEventDetail *vc = [segue destinationViewController]; 
vc.someobject=[eventArr objectAtIndex:self.view.tag];

供参考,您可以参考Pass Data Between View Controllers