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原创文章,未经博主允许不得转载。

相关文章推荐

解决ajax乱码和页面传值问题

  • 2013年05月20日 13:01
  • 731KB
  • 下载

swift UI专项训练42 用Swift代码实现页面跳转与传值

之前我们做过如果要点击一个按钮实现跳转到另一个按钮的办法,有时候我们需要通过一些动作来触发页面的跳转,比如摇动手机,这样就不能直接用连线的办法来实现跳转了,那么如何通过代码的方式来实现跳转呢?依旧使用...

UI开发----UINavigationController和页面间传值

//  Created By 郭仔  2015年04月21日22:52:59 // =================================================== 人生最痛...

asp.net中页面之间传值问题

1。使用QueryString       使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在浏览器的地址栏上的(不...

IOS推出其他页面特殊传值 的问题

在项目过程中可能会遇到一种问题,拿tableView来说 假如说你的cell在定制过程中需要一张图片(用imageView来显示)然后在图片的下面还想显示一个label label响应的方法和选中图片...

Flex两页面间的传值问题总结 .

众所周知Flex主要用于B/S结构程序的开发,凡是这类型的开发都存在页面间的传值的问题,通常一般的B/S开发主要不外乎使用地址修改法,隐藏表单域等方法,但是这些方法在Flex中确没有用,      ...

html页面互相传值的问题

第一次使用随笔,感觉还是蛮别扭的 a.html html> head> title> demo title> meta name="Author" content=...

用window.open()打开子页面传值问题

1、通过window对象的open()方法,open()方法将会产生一个新的window窗口对象 //IE7里不支持    其用法为:             window.open(URL,...
  • fn_2015
  • fn_2015
  • 2016年11月17日 13:59
  • 3762

struts2页面传值问题,对象List,iterator迭代,s:标签

菜鸟一枚,漏洞百出,欢迎指正
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UI_页面传值问题
举报原因:
原因补充:

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