美文网首页
iOS中常见的几种逆向传值方式

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

作者: DB001 | 来源:发表于2017-03-15 16:35 被阅读0次

    在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文件:

    相关文章

      网友评论

          本文标题:iOS中常见的几种逆向传值方式

          本文链接:https://www.haomeiwen.com/subject/baalnttx.html