一次controller之间的传值

本文讲述了在iOS开发中,通过实例化、委托、Block等方式进行控制器间传值的问题,探讨了这些方法的适用场景。面对需要在多个控制器间传递并实时更新数据的需求,作者选择了使用Key-Value Observing(KVO)和NSUserDefaults结合的方式,以实现更高效的数据同步和资源管理。
摘要由CSDN通过智能技术生成

不管如何,先感谢 KVO的实现原理和具体应用 让我了解了观察者模式。

事情的起因无非不就是需求,大概就是三个controllerA、B、C,三者间存在跳转关系A->B->C,当C的Num刷新后更新后台数据,A要向后台获取数据并刷新UI。

首先我就想到了几种数据传递方式:

1、直接实例化,给controller赋值。

UIViewController *B = [[UIViewController alloc] init];

B.NUM = 1;

[self.navigationController pushViewController:B animated:YES];

这个只适合跳转页面时传值。

2、利用委托delegate。在B中声名委托,并在A中设置B的委托者为A,即B.delegate = A。然后在A中实现B的委托方法。最后实现B往A中传值。

一般这种方式都是B向A传值,当然A也可以利用委托向B传值,但是一般业务情况下,都是直接用1的方式传值。

3、block传值(块传值),这种传值方法很常用,十分灵活,但针对A

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值