IOS 页面间传值(属性传值、block传值、代理传值、单例传值、NSNotificaion传值)

原创 2016年06月01日 16:40:30

前言

      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页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)

iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例) 实现了以下iOS页面间传值:1.委托delegate方式;2.通知notifi...

iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)

iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例) 实现了以下iOS页面间传值:1.委托delegate方式;2.通知noti...

iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)

http://blog.csdn.net/lvxiangan/article/details/46683013 iOS页面间传值的方式(NSUserDefault/Delegate/...

iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)

iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例) 实现了以下iOS页面间传值:1.委托delegate方式;2.通知noti...

iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例)

iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例) 实现了以下iOS页面间传值:1.委托delegate方式;2.通知noti...

iOS 通知,代理,单例,block传值

1.单例设计模式 .h // // danli.h // test ipad // // Created by 黄权浩 on 14-12-24. // Copyright (c) 2014年 ...

iOS开发系列----UI(视图编程入门:Delegate、Block、单例、属性传值)

本章介绍三种逆向传值方式(Delegate、Block、单例)、一种正向传值方式(属性)Delegate传值: 核心代码: SecondViewController.h#import //声明协议...

ios 视图间Block传值

  • 2013-09-29 09:59
  • 61KB
  • 下载

单例的书写与通知、代理、Block简单的传值

一、通知// 1、在需要监听的控制器中创建通知中心,接收通知消息 [[NSNotificationCenter defaultCenter] addObserver:self selector:@se...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)