iOS中常见的几种逆向传值方式

2017-03-15  本文已影响0人  DB001

在iOS开发中,常见的几种逆向传值方式,有代理(delegate)、通知(NSNotification),block等等,其实还有一种方法。

1、委托代理逆向传值方式

delegate只能是一对一之间的。他只能是navigation的栈里面的相邻控制器传值, 不能跨控制器传值。比如:a到b,b到c,而不能从c传到a.

第一个控制器的.m文件

第二个控制器的 .h文件

第二个控制器的 .m文件


2、通知(NSNotifacation)逆向传值

通知的用处就随意多了, 首先他是多对多传值的, 不过要先注册成为监听者,才能收到通知。简单、便捷。不用通知的时候,记得移除。

2.1.发出通知 object:通知发布者(是谁要发布通知),userInfo:一些额外的信息(通知发布者传递给通知接收者的信息内容)

第二个控制器的 .m文件

2.2.注册监听对象  name通知的名称。如果为nil,那么无论通知的名称是什么,监听器都能收到这个通知;  Object通知发布者。如果为anObject和aName都为nil,监听器都收到所有的通知

第一个控制器的.m文件

3、Block夸界面逆向传值

描述:跨控制器传值,a->b, b->c, c->d, d->a,在a上添加一个label,在d上添加textFild,当点击d上的“返回”按钮时,POP到a,a的label展示d中textFild输入的值。

A控制器的.m文件

B控制器的.h文件:

B控制器的.m文件:

C控制器的.h文件: C控制器要继承B控制器

C控制器的.m文件:

D控制器的.h文件:D控制器要继承B控制器

D控制器的.m文件:

上一篇下一篇

猜你喜欢

热点阅读