0

我正在尝试将一个数字(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;
    }
}

问题是:一旦我完成第二个视图,正确的方法是什么?一旦我进入第二个视图,它只会更改所选标签的编号。

干杯。

4

1 回答 1

0

假设这是一个模态序列...

代替实际的返回值,只需在您要设置的第一个视图控制器中创建一个属性,例如:

@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
于 2012-10-30T22:46:28.113 回答