UI_页面传值问题

原创 2015年07月08日 21:20:47

属性传值

    // 属性传值:最常用的一种传值方式
    /**
     *  操作过程 
     *  1、在第二个控制器的.h文件里面书写属性
     *  2、就在第一个页面创建第二个页面控制器方法里面,进行赋值操作
     *  3、适用性(局限性):仅仅适用于从第一个页面传到第二个页面(从前往后传)
     */

*1、在第二个控制器的.h文件里面书写属性

//  设置属性用于传值
@property (nonatomic, copy)NSString *receiveStr;

*2、就在第一个页面创建第二个页面控制器方法里面,进行赋值操作

    // 赋值, 属性写在了第二个控制器里面
    // 在 SecondViewController.m 里面接收,因为切换的是控制器
    secondVC.receiveStr = self.rootView.firstText.text;
// 接收字符串
    self.rootView.label.text = self.receiveStr;

代理传值

    // 代理传值:
    /**
     *  操作过程
     *  1、在第二级控制器的.h文件,书写非正式协议(方法必须带参数)
     *  2、在第二级控制器的.h文件,写属性
     *  3、在第二级控制器的.m文件,利用代理属性,去调用协议里面的方法(同时把参数传出去)
     *
     *  4、在第一级控制器里面遵守协议
     *  5、在第一级控制器里面设置代理
     *  6、在第一级控制器里面实现代理方法
     */
 1、在第二级控制器的.h文件,书写非正式协议(方法必须带参数)
// 1.设置协议
@protocol SecondViewControllerDelegate <NSObject>

- (void)translateValueFromSecondToFirst:(NSString *)string;

@end
 2、在第二级控制器的.h文件,写属性
//  设置属性用于传值
@property (nonatomic, copy)NSString *receiveStr;
 3、在第二级控制器的.m文件,利用代理属性,去调用协议里面的方法(同时把参数传出去)
    // 3.自己创建返回按钮,下面实现方法
    UIBarButtonItem *left = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(leftDidClicked:)];
    self.navigationItem.leftBarButtonItem = left;
    [left release];
}


#pragma mark - 实现点击方法
- (void)leftDidClicked:(UIBarButtonItem *)sender
{
    if (self.delegate && [self.delegate respondsToSelector:@selector(translateValueFromSecondToFirst:)]) {
        // 代理去执行方法
        [self.delegate translateValueFromSecondToFirst:@"李莫愁"];
    }

    [self.navigationController popViewControllerAnimated:YES];
}
 4、在第一级控制器里面遵守协议
// 4.遵守协议
@interface RootViewController ()<SecondViewControllerDelegate>
 5、在第一级控制器里面设置代理
    // 5. 设置代理方法
    secondVC.delegate = self;
 6、在第一级控制器里面实现代理方法
// 6.实现代理方法
#pragma mark - 实现代理方法
- (void)translateValueFromSecondToFirst:(NSString *)string
{
    NSLog(@"%@",string);
}
版权声明:本文为outlan原创文章,未经博主允许不得转载。

开发中父子页面传值问题

上连接:http://javacrazyer.iteye.com/blog/1498199 开发中遇到父子页面传值问题会很棘手,现收集两种方式的父子页面传值的方式,以方便今后使用 1)弹窗式,通过...
  • wym1581
  • wym1581
  • 2015年04月16日 11:45
  • 595

页面传值问题

if(isNotEmpty('${keyword}')){ console.log(${keyword}); $("#keyword").val('${keyword}'); } ...
  • luo_xia530
  • luo_xia530
  • 2016年10月26日 18:41
  • 69

小程序页面间传值

小程序页面间传值,场景:A页面传值到B页面,通过跳转ID的方式 data{ id:”“, desctions:”” }, onLoad:function(options){...
  • wwj791859814
  • wwj791859814
  • 2017年05月31日 14:24
  • 240

UI_本地存储

UI 本地存储,本文讲述了iOS开发中,如何将数据存入本地中。 关键字: NSSearchPathForDirectoriesInDomains, writeToFile, NSKeyedArchi...
  • yuancao_scott
  • yuancao_scott
  • 2014年10月14日 17:23
  • 437

UI_动画

UI_动画
  • sOldiers_C
  • sOldiers_C
  • 2015年10月07日 15:05
  • 318

UI_协议

UI中协议是指类与类之间的通信,  通过指定代理来对其他类中实现方法. 协议分为系统内部协议和User自定义协议, 这里先讲自定义协议. 首先需要制订协议并设定代理人 SecondViewCont...
  • sunlu_nsinteger
  • sunlu_nsinteger
  • 2014年12月23日 21:12
  • 204

asp.net页面间传值的五种方法

一、QueryString传值:简单、安全性低 二、Server.Transfer传值:(Page1)Context.handler 三、Cookie传值:客户端 四、Session传值:单用户 五、...
  • jcx5083761
  • jcx5083761
  • 2013年07月16日 02:28
  • 1542

UI_封装

#import "AppDelegate.h" #import "RootViewController.h" @interface AppDelegate () @end ...
  • qq_33352087
  • qq_33352087
  • 2016年01月23日 14:20
  • 157

UI_网络编程

网络请求方式分为两种方法: GET , POST。 GET和POST的区别及共同点: 1. 客户端到底写GET还是POST, 跟服务器有关, 后期开发时,回合服务器开发人员一起开发, 到时候客...
  • Gemmily
  • Gemmily
  • 2014年12月23日 20:13
  • 280

页面传值问题(转)

1、表单提交, form action="target.aspx" enctype="application/x-www-form-urlencoded" method="post">input st...
  • forestsheep
  • forestsheep
  • 2009年09月15日 14:57
  • 128
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UI_页面传值问题
举报原因:
原因补充:

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