ios怎么判断是从那个控制器push过来的
1个回答
展开全部
...办法很多啊,看你具体要实现什么功能,效果。
方法1、、、、、、
可以给当前的vc(viewcontroller) nextVC添加一个属性,@pro () NSInteger fromVCNo;
假设上一个vc可能的为vc1,vc2和vc3,
则在vc1中,
nextVC.fromVCNo = 1;//vc2中为2,vc3为3等。
然后再
[self.navigationController pushViewcontroller:nextVC animated:YES];
这样,在nextVC中,就可以根据fromVCNo的值判断是谁push过来的。
方法2、、、、、、、、、、
navigationController是一个控制器栈,其存储的控制器存放在一个数组viewControllers里。
在当前的vc cVC中,可以这样
NSArray *vcsArray = [self.navigationController viewcontrollers];
NSInteger vcCount = vcsArray.count;
UIViewController *lastVC = vcsArray[vcCount-2];//最后一个vc是自己,倒数第二个是上一个控制器。
假设cVC来源可能是 VCClass1,VCClass2的实力push来的
那么只要判断出lastVC类型,就可以判断其是谁push来的:
if([lastVC isKindofClsss:VCClass1])
{
//我从VCClass1来
}else if([lastVC isKindofClsss:VCClass1])
{
//VCClass2 push我来的~
}
方法1、、、、、、
可以给当前的vc(viewcontroller) nextVC添加一个属性,@pro () NSInteger fromVCNo;
假设上一个vc可能的为vc1,vc2和vc3,
则在vc1中,
nextVC.fromVCNo = 1;//vc2中为2,vc3为3等。
然后再
[self.navigationController pushViewcontroller:nextVC animated:YES];
这样,在nextVC中,就可以根据fromVCNo的值判断是谁push过来的。
方法2、、、、、、、、、、
navigationController是一个控制器栈,其存储的控制器存放在一个数组viewControllers里。
在当前的vc cVC中,可以这样
NSArray *vcsArray = [self.navigationController viewcontrollers];
NSInteger vcCount = vcsArray.count;
UIViewController *lastVC = vcsArray[vcCount-2];//最后一个vc是自己,倒数第二个是上一个控制器。
假设cVC来源可能是 VCClass1,VCClass2的实力push来的
那么只要判断出lastVC类型,就可以判断其是谁push来的:
if([lastVC isKindofClsss:VCClass1])
{
//我从VCClass1来
}else if([lastVC isKindofClsss:VCClass1])
{
//VCClass2 push我来的~
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询