我正在尝试将一个数字(UILabel)发送到另一个UIViewController。
现在我可以采用一种方式,但是当我返回时,我还需要将结果带回初始控制器。
最重要的是,我试图用4个UILabel来做这个,所以我需要区分它们。
现在要进入第二个ViewController我想使用这样的segue:
if ([segue.identifier isEqualToString:@"ChangeNumberSegue"])
{
NSLog(@"Changing the Number on NumberPadViewController");
NumberPadViewController *numberPad = segue.destinationViewController;
if(_BtnNumber01)
{
numberPad.numberLine.text = _LblNumber01.text;
}
if(_BtnNumber02)
{
numberPad.numberLine.text = _LblNumber02.text;
}
if(_BtnNumber03)
{
numberPad.numberLine.text = _LblNumber03.text;
}
if(_BtnNumber04)
{
numberPad.numberLine.text = _LblNumber04.text;
}
}
问题是:完成第二个视图后,解除第二个视图的正确方法是什么。 一旦我进入第二个视图,它将只更改所选标签的数量。
干杯。
答案 0 :(得分:0)
假设这是一个模态segue ...
代替实际返回值,只需在要设置的第一个视图控制器中创建一个属性,例如:
@property (nonatomic, assign) NSInteger theValue;
在第二个视图控制器中,您可以获得第一个视图控制器的句柄,例如:
FirstViewController *vc = (FirstViewController *) [self presentingViewController];
vc.theValue = 5;
至于返回原始视图控制器,您可以在第二个视图控制器中添加它:
[self dismissViewControllerAnimated:YES completion:nil]; // iOS 6
// or
[self dismissModalViewControllerAnimated:YES]; // iOS 5 or earlier