控制器iOS之间的通信

时间:2012-08-14 10:30:49

标签: objective-c ios uiviewcontroller communication delegation

首先,我想向您展示我的故事板:

enter image description here

我在CUVCViewController(左边的第一个视图)中有一个Label,在CUVCViewControllerPageTwo(第二个视图)中有一个UISlider。当我点击“第2页”按钮时,我可以更改UISlider的值。 我想在标签中显示UISlider的价值,但我不明白我该怎么做! 我曾尝试过代表团,但我不明白如何实现它!

有人能帮助我吗?谢谢!

1 个答案:

答案 0 :(得分:3)

好的,所以这个很容易,但我真的不确定你有多远!我将假设您只想知道如何将数据从UISlider传递回第一个视图控制器。

在第一个视图控制器的类中,您需要实现方法

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

在segue到第二个视图控制器之前调用它。然后,您可以将第一个视图控制器设置为第二个视图控制器的委托。所以你需要在'第一个视图控制器'类型的第二个视图控制器上设置一个@property并调用它,比如delegate(你可以给它任何名字)

-prepareForSegue:方法中,执行此操作

SecondViewController *secondController = segue.destinationViewController; secondController.delegate = self;

然后从这一点开始,您可以从第二个视图中将第一个视图控制器称为delegate。很可能您可以通过第一个方法调用从UISlider传回数据,或者通过在第一个上设置属性

例如[delegate sliderDidUpdate:sliderValue]