IOS 页面间传值(属性传值、block传值、代理传值、单例传值、NSNotificaion传值)
来源:互联网 发布:java中反射的作用 编辑:程序博客网 时间:2024/05/10 19:08
前言
iOS页面间跳转,通常涉及到传值问题。正向传值很简单,反向传值可能就有点小麻烦了。本文主要说的是页面间反向传值。
正文
正向传值的话,通过属性传值来实现,就是A页面push到B页面,在B页面上有一textField用于显示A页面传过来的值。反向传值的话,主要就是A页面push到B页面,然后返回到A页面的时候,改变A页面的背景颜色。
(一).属性传值(一般只能用于正向传值)
太简单了,就不说 了。
(二).block传值
1.首先在B页面.h文件添加执行的block,然后声明一个变量,如下图:
2. 其次在A页面有如下代码:
3.最后我们在B页面任意调用block变量,像这样:
(三).代理传值
1.首先在B页面定义代理方法,如下:
2.其次给代理赋值,要判断代理存不存在并且代理方法可不可以响应(具体赋值时再调用),如下我是在viewWillDisAppear中赋值的:
3.然后在A页面要遵守B页面的协议:
4.最后在A页面为B指定代理,并实现代理方法,如下图:
(四).单例传值
单例,在这里扮演一个第三方容器的角色。将B页面的值放到这个容器里面,然后再在A页面进行读取。逻辑上就是这样,很简单。
1.定义一个单例类,增加一个类方法。定义一个属性(表示要传输的值):
2.在B页面设置要传输的值:
3.在A页面获取B页面传输过来的值,此时push出去的界面返回的时候viewDidLoad 方法不在调用,所以我们放在viewWillAppear里面来获取B页面传来的值。
(五).通知传值
1.在A页面添加observer (什么时候需要就什么时候添加):
2.添加回调方法:
3.在B页面发送通知:
4.移除observer:
- IOS 页面间传值(属性传值、block传值、代理传值、单例传值、NSNotificaion传值)
- ios 页面之间的传值:属性传值,代理传值,block传值
- IOS传值---属性传值、代理委托传值(delegate)传值、单例传值、block传值
- iOS个人整理14-界面间传值:属性传值---代理传值---block传值---单例传值
- iOS传值(属性传值,代理传值,单例传值,通知传值,Block)
- iOS-OC-iOS传值大全(代理传值,block 传值,单例传值,通知传值,属性传值)
- 谈谈ios传值方式(属性传值、代理传值、Block传值、单例传值、通知传值、KVC传值)
- iOS页面传值(代理,属性,单例)-传值
- iOS Block作为property属性实现页面之间传值
- iOS 传值方法(属性传值、代理传值、Block、通知、单例)
- 传值有四种方法 : 1.属性传值 2.单例传值 3.代理传值 4.block传值
- iOS 属性传值 Block传值 两个ViewController之间的
- IOS 多种反向传值对比(代理,block,通知)
- iOS代理、block传值
- 常见的6种传值 ------ 代理(delegate)传值 单例传值 Target-Action传值 属性传值 block传值 通知传值
- IOS学习笔记(页面传值:属性传值,协议代理传值,闭包传值)
- 代理 单例 属性 block 四大传值方式
- 传值方式(block, 属性,代理 ,单例)
- Spring-AOP配置切入点方式及配置各种类型增强
- SQL语句
- print all permutation of a string(recursion)
- 树莓派编译安装ros,原理步骤详细
- Android--Butter Knife
- IOS 页面间传值(属性传值、block传值、代理传值、单例传值、NSNotificaion传值)
- Android动画机制与使用技巧(一)——Android View动画框架
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- Activity与Service通信之EventBus
- 青春的故事
- 上传图片 头像
- 属性动画之ValueAnimator
- .net页面加载显示word文件
- set接口