例如,我有3个UIViewController
s A、B、C。
我这样浏览UIViewController
:
A -> B -> C -> B -> A
当我们到达UIViewController
B时,我想知道我是从A还是从C到达B。
所以我想知道哪一个是B.的前一个UIViewController
在其他答案中,您可以为您来自的视图控制器维护一个标记,创建int tagViewControllerFrom的属性,并在您推到B时设置它,从a或C,对于a设置1,或对于C设置2,两者都应该区分,然后在B的viewDidLoad中您可以使用if条件和accordingly检查它。
试试这个:
// In B
UIViewController* parentViewController =
(UIViewController*) [[self.view superview] nextResponder];
if ([parentViewController isEqualTo:viewControllerA])
{
}
else if ([parentViewController isEqualTo:viewControllerB])
{
}
您需要在控制器中维护weak
引用(可能是id
类型),并且可以在呈现新控制器时将父控制器分配给它