たとえば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
タイプの場合もあります)、新しいコントローラを提示するときに親コントローラを割り当てることができます