(iOS)控制器之间数据的传递

控制器之间的数据传递
控制器之间的数据传递主要有两种情况,顺传和逆传

列表内容

调用[self performSegueWithIdentifier:@”” sender:nil];这个方法就会跳转到另外一个控制器,
但是在控制器类里面可以重写一个方法,在调用这个方法之后调用的。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender;

这个方法是系统调用的,当系统执行完prepareSegueWithIdentifier方法之后就会调用这个方法。
而且这个方法的参数segue是prepareSegueWithIdentifier这个方法的segue。
这个我们就可以获取segue,从而获取得到destinationViewController,也就是目标控制器
最后就可以达到我们想要的效果。

利用performSegueWithIdentifier:sender:
[self performSegueWithIdentifier:@”login2contacts” sender:nil];
//这个self是来源控制器
1,根据identifier去storyboard中找到对应的线,新建UIStoryboardSegue对象
设置Segue对象的sourceViewController(来源控制器)
设置Segue对象的destinationViewController(目标控制器)

2,调用sourceViewController的下面的方法,做一些跳转前的准备工作并且传入创建好的Segue对象
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender;
//这个sender是当初performSegueWithIdentifier:sender中传入的sender
3,调用Segue对象的-(void)perform;方法开始执行界面的跳转
取得sourceViewController所在的UINavigationController
调用UINavigationController的push方法将des压入栈中,完成跳转
如何是实现控制器的数据往回传递。
一般都是通过代理来是实现数据的传递

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值