ios怎么判断是从那个控制器push过来的

 我来答
在下黎叔
推荐于2017-05-16 · TA获得超过1733个赞
知道小有建树答主
回答量:981
采纳率:71%
帮助的人:299万
展开全部
...办法很多啊,看你具体要实现什么功能,效果。
方法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我来的~

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式