zoukankan      html  css  js  c++  java
  • 界面间传值

    界面之间传值问题

    1.在AppDelegate.h文件中声明一个全局变量, 来连接两个界面的数据

    使用下面语句可以创建单例对象,即整个程序中只有这一个对象,声明的变量只是对该对象的引用

    AppDelegate *delegate= [UIApplication sharedApplication].delegate;

    delegate就可以访问到单例类中的成员变量

    2.正向传值,直接在第二层视图声明并初始化第一层视图的变量,使用该变量来获取第一层视图的成员变量的值;  反向传值,就是在第二层视图调用第一曾视图的方法,该方法内有第一层视图的成员变量,通过对成员变量赋值,把数据传给第一层视图, 就是说第二层视图要有第一层视图的成员变量.(原因反向传值时,不能通过初始化变量来获取原来视图的地址).

    3.使用协议反向传值,第二层视图制订协议,第一层视图遵守协议并实现协议方法,方法内保存第二层视图传过来的值, 在第一层视图中声明第二层视图的成员变量,并初始化,使用该变量将第二层的委托指向第一层视图(subView.delegate=self;[self presentViewController:subView animated:YES completion:nil];),在第二层视图内的某一触发事件中调用协议方法将要回传的值放到里面即可.

    4.使用代理进行反向传值(从第二层到第一层),在第一层视图声明一个block, 在第二层视图实现该block, 在第一层中调用,block就会找到其实现来获取第二层视图中的成员变量,从而实现反向传值(通过返回值而不是参数,通过参数是正向的传值).

    5.采用消息中心方式,详见文件<<消息通知中心>>

    http://www.cnblogs.com/PaulpauL/ 版权声明:本文为博主原创文章,未经博主允许不得转载。
  • 相关阅读:
    lambda 是个啥玩意
    python中读写操作plist
    通过os中的os.path.basename获取路径中的文件名
    python遍历目录的两种方法
    mac下已有pyhon2.7,装了python3 之后,怎么调用python3啊
    Python: easy_install & pip 下载PyPi 公共资源库的工具
    安装python的图形处理库: pillow
    minSdkVersion, targetSdkVersion, targetApiLevel,compileSdkVersion,buildToolsVersion
    bat 批量修改文件名字
    a b两向量叉乘 <0说明a在b左边
  • 原文地址:https://www.cnblogs.com/PaulpauL/p/4935255.html
Copyright © 2011-2022 走看看