IOS 七种传值方法

七种传值方法:

1.属性传值

属性传值多用于从上级页面传到下级页面.关键点:谁是数据的接收方,谁创建属性.

2.代理传值

代理传值多用于从后一个页面往前一个页面传值.关键点:谁是数据提供方,谁创建代理.

注意:代理属性的声明要用assign,如果用retain的话,会造成内存问题(用retain时会使服从协议的页面引用计数+1,当服从协议页面的前一个页面空间回收时,服从协议的页面的空间不能被回收掉,当然提供协议页面也不能被回收掉,这样就造成了空间堆积,而且一般的检测设备检测不出来这种问题).

3.单例传值

单例传值不受视图层级的限制,随时存储,随时获取.关键点:单例里面不能存放过大的数据,因为单例的空间不能不回收.

4.extern传值

extern传值引用在其他类里定义的变量,关键点:全局变量不能不能大量使用,且不易管理.

5.NSUserDefaults传值

NSUserDefaults是系统为我们提供的一种最简单的持久化方式,这个类有单例方法.

6.block传值

block传值和代理传值一样,也是回调传值

7.通知传值

在需要传值的类里注册通知即可,可以一传多,注意在dealloc中销毁通知.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值