0

たとえばUIViewController、A、B、Cが3つあります。

私はこのようにトラフに行きUIViewControllerます:

 A -> B -> C -> B -> A

Bに到着UIViewControllerしたら、AからBに到着したのか、CからBに到着したのかを知りたい。

UIViewControllerだから私はBの前のものがどれであるか知りたいです。

4

3 に答える 3

2

他の答えの上に、あなたはあなたが来ているビューコントローラーのタグを維持し、int tagViewControllerFromのプロパティを作成し、AまたはCからBにプッシュするときにそれを設定することができますAセット何か1、またはCセット何か2、両方を区別する必要があります。次に、BのviewDidLoadで、if条件を使用してチェックし、それに応じて実行できます。

于 2013-02-22T07:45:02.347 に答える
1

これを試してください:

// In B

UIViewController* parentViewController = 
    (UIViewController*) [[self.view superview] nextResponder];

if ([parentViewController isEqualTo:viewControllerA])
{
}
else if ([parentViewController isEqualTo:viewControllerB])
{
}
于 2013-02-22T07:42:34.970 に答える
0

weakコントローラで参照を維持する必要があり(idタイプの場合もあります)、新しいコントローラを提示するときに親コントローラを割り当てることができます

于 2013-02-22T07:42:03.070 に答える