1

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

Tableview didselect 方法

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

您能否请任何人帮助我使用情节提要中的方法将数据从一个传递到另一个。

4

2 回答 2

2

您可以通过属性或方法传入数据(只要该方法正在存储数据)。但是,您不应该在您的loadDict方法中更新 UI。

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

于 2013-07-26T16:41:53.190 回答
1

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

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

作为参考,您可以参考 在视图控制器之间传递数据

于 2013-07-26T12:48:49.833 回答