たとえばUIViewController、A、B、Cが3つあります。
私はこのようにトラフに行きUIViewControllerます:
A -> B -> C -> B -> A
Bに到着UIViewControllerしたら、AからBに到着したのか、CからBに到着したのかを知りたい。
UIViewControllerだから私はBの前のものがどれであるか知りたいです。
たとえばUIViewController、A、B、Cが3つあります。
私はこのようにトラフに行きUIViewControllerます:
A -> B -> C -> B -> A
Bに到着UIViewControllerしたら、AからBに到着したのか、CからBに到着したのかを知りたい。
UIViewControllerだから私はBの前のものがどれであるか知りたいです。
他の答えの上に、あなたはあなたが来ているビューコントローラーのタグを維持し、int tagViewControllerFromのプロパティを作成し、AまたはCからBにプッシュするときにそれを設定することができますAセット何か1、またはCセット何か2、両方を区別する必要があります。次に、BのviewDidLoadで、if条件を使用してチェックし、それに応じて実行できます。
これを試してください:
// In B
UIViewController* parentViewController =
(UIViewController*) [[self.view superview] nextResponder];
if ([parentViewController isEqualTo:viewControllerA])
{
}
else if ([parentViewController isEqualTo:viewControllerB])
{
}
weakコントローラで参照を維持する必要があり(idタイプの場合もあります)、新しいコントローラを提示するときに親コントローラを割り当てることができます