0

別のUIViewControllerに送信する番号(UILabel)を取得しようとしています。

これで一方向に進むことができますが、最初のコントローラーに戻ったときに、結果を最初のコントローラーに戻す必要もあります。

その上、私は4つのUILabelでこれを実行しようとしているので、それらを区別する必要があります。

次に、2番目のViewControllerに到達するために、次のようなセグエを使用します。

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

問題は、2番目のビューを使い終わったら、それを却下する正しい方法は何ですか。2番目のビューに入ると、選択したラベルの番号のみが変更されます。

乾杯。

4

1 に答える 1

0

これがモーダルセグエであると仮定すると...

実際の戻り値の代わりに、設定する最初のViewControllerに次のようなプロパティを作成するだけです。

@property (nonatomic, assign) NSInteger theValue;

2番目のViewController内で、次のような最初のViewControllerへのハンドルを取得できます。

FirstViewController *vc = (FirstViewController *) [self presentingViewController];
vc.theValue = 5;

元のViewControllerに戻る限り、これを2番目のViewController内に追加できます。

[self dismissViewControllerAnimated:YES completion:nil]; // iOS 6
// or
[self dismissModalViewControllerAnimated:YES]; // iOS 5 or earlier
于 2012-10-30T22:46:28.113 に答える