IOS 学习笔记 2015-04-15 控制器数据反向传值

//
//  FirstViewController.h
//  控制器数据传递
//
//  Created by wangtouwang on 15/4/15.
//  Copyright (c) 2015年 wangtouwang. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface FirstViewController : UIViewController

@end

//
//  FirstViewController.m
//  控制器数据传递
//
//  Created by wangtouwang on 15/4/15.
//  Copyright (c) 2015年 wangtouwang. All rights reserved.
//

#import "FirstViewController.h"
#import "TwoViewController.h"

@interface FirstViewController ()<PropagateDelegate>
{
    UILabel *firstLable;
    UITextField *firstField;
    UIButton *firstBtn;
}
@end

@implementation FirstViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.view setBackgroundColor:[UIColor blackColor]];

    firstLable = [[UILabel alloc] initWithFrame:CGRectMake(30, 100, 150, 30)];
    firstLable.text=@"第一页面进出值";
    firstLable.font=[UIFont systemFontOfSize:15.0];
    firstLable.textColor=[UIColor whiteColor];
     [self.view addSubview:firstLable];

    firstField = [[UITextField alloc] initWithFrame:CGRectMake(30, 150, 150, 30)];
    firstField.textColor=[UIColor blackColor];
    firstField.font=[UIFont fontWithName:@"Arial" size:14.0];
    firstField.borderStyle=UITextBorderStyleRoundedRect;
    firstField.placeholder = @"进出值";
    firstField.keyboardType = UIKeyboardTypeDefault;
     [self.view addSubview:firstField];

    firstBtn = [[UIButton alloc] initWithFrame:CGRectMake(30, 210, 150, 30)];
    firstBtn.backgroundColor=[UIColor colorWithRed:195/255.0 green:33/255.0 blue:30/255.0 alpha:1.0];
    [firstBtn setTitle:@"跳转第二页面" forState:UIControlStateNormal];
    [firstBtn.layer setCornerRadius:10.0]; //设置矩形四个圆角半径
    [firstBtn addTarget:self action:@selector(turnTwoPage:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:firstBtn];

}

-(void)turnTwoPage:(UIButton *)btn{
    TwoViewController *two = [[TwoViewController alloc] init];
    two.delegate=self;
    [self.navigationController pushViewController:two animated:NO];
}

-(void)propagateToValue:(NSString *)result{
    NSLog(@"反向传值");
    firstField.text=result;
}

@end
//
//  TwoViewController.h
//  控制器数据传递
//
//  Created by wangtouwang on 15/4/15.
//  Copyright (c) 2015年 wangtouwang. All rights reserved.
//

#import <UIKit/UIKit.h>

@protocol PropagateDelegate <NSObject>

@required
-(void)propagateToValue:(NSString *)result;

@end

@interface TwoViewController : UIViewController

@property(nonatomic,assign) id<PropagateDelegate> delegate;

@end
//
//  TwoViewController.m
//  控制器数据传递
//
//  Created by wangtouwang on 15/4/15.
//  Copyright (c) 2015年 wangtouwang. All rights reserved.
//

#import "TwoViewController.h"

@interface TwoViewController ()

@property(nonatomic,strong) UILabel *firstLable;
@property(nonatomic,strong) UITextField *firstField;
@property(nonatomic,strong) UIButton *firstBtn;

@end

@implementation TwoViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self.view setBackgroundColor:[UIColor blackColor]];

    _firstLable = [[UILabel alloc] initWithFrame:CGRectMake(30, 100, 150, 30)];
    _firstLable.text=@"第二页面进出值";
    _firstLable.font=[UIFont systemFontOfSize:15.0];
    _firstLable.textColor=[UIColor whiteColor];
    [self.view addSubview:_firstLable];

    _firstField = [[UITextField alloc] initWithFrame:CGRectMake(30, 150, 150, 30)];
    _firstField.textColor=[UIColor blackColor];
    _firstField.font=[UIFont fontWithName:@"Arial" size:14.0];
    _firstField.borderStyle=UITextBorderStyleRoundedRect;
    _firstField.placeholder = @"进出值";
    _firstField.keyboardType = UIKeyboardTypeDefault;
    [self.view addSubview:_firstField];

    _firstBtn = [[UIButton alloc] initWithFrame:CGRectMake(30, 210, 150, 30)];
    _firstBtn.backgroundColor=[UIColor colorWithRed:195/255.0 green:33/255.0 blue:30/255.0 alpha:1.0];
    [_firstBtn setTitle:@"跳转第一页面" forState:UIControlStateNormal];
    [_firstBtn.layer setCornerRadius:10.0]; //设置矩形四个圆角半径
    [_firstBtn addTarget:self action:@selector(turnFirstPage:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:_firstBtn];
}

//反向传值
-(void)turnFirstPage:(UIButton *)btn{
    [self.delegate propagateToValue:_firstField.text];
    [self.navigationController popViewControllerAnimated:NO];
}

@end
时间: 2024-10-10 19:20:56

IOS 学习笔记 2015-04-15 控制器数据反向传值的相关文章

iOS: 学习笔记, 添加一个带界面约束的控制器

1. 创建一个空iOS应用程序(Empty Application). 2. 添加加控制器类. 修改控制器类的viewDidLoad 1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 //创建标题 5 UILabel *header = [[UILabel alloc] init]; 6 header.text = @"欢迎来到我的世界!"; 7 header.textAlignment = NSTextAlignmentCenter

iOS 学习笔记——0005(数据存储)

先发一个练手的小demo,自己写的简略通讯录,已上传至github https://github.com/liaoshaolim/addressBook 1.NSKeyedArchiver:(归档) 这里用一个添加联系人的例子来说明: 注意:归档形式保存数据,需要该对象遵守NSCoding协议,而且对应的必须提供encodeWithCoder和initWithCoder方法 因为归档是一次性的,解压也是一次性的,所以小量的ok,如果量大的话,改一个小地方就要归档或解压全部,效率会比较低 //用一

iOS: 学习笔记, 值与引用类型(译自: https://developer.apple.com/swift/blog/ Aug 15, 2014 Value and Reference Type

值和引用类型 Value and Reference Types 在Swift中,有两种数据类型. 一是"值类型"(value type), 它是每一个实例都保存有各自的数据,通常定义为struct, enum或tuple. 二是"引用类型"(reference types),它是多实例共享一份数据,这种类型通常定义为class. 在本文中,我们将展示值类型和引用类型各自的优点以及如何在二者之间选择. 它们有什么区别? 最基本的区别是 "值类型"

iOS: 学习笔记, 值与引用类型(译自: https://developer.apple.com/swift/blog/ Aug 15, 2014 Value and Reference Types)

值和引用类型 Value and Reference Types 在Swift中,有两种数据类型. 一是"值类型"(value type), 它是每一个实例都保存有各自的数据,通常定义为struct, enum或tuple. 二是"引用类型"(reference types),它是多实例共享一份数据,这种类型通常定义为class. 在本文中,我们将展示值类型和引用类型各自的优点以及如何在二者之间选择. 它们有什么区别? 最基本的区别是 "值类型"

【Ext.Net学习笔记】04:Ext.Net中使用数据、Ext.Net Store的用法、Ext.Net ComboBox用法

之前的几篇文章都是介绍Ext.Net较为基础的东西,今天的这一篇将介绍数据的一些用法,包括XTemplate绑定数据.Store(Modal.Proxy).ComboBox的用法等. XTemplate绑定数据 XTemplate是个模板,当我们为一个XTemplate绑定数据之后,将会按照模板的预定格式进行显示. <ext:Window runat="server" ID="win1" Title="XTemplates用法" Width

ios学习笔记——数据持久化

一.沙盒 沙盒目录是一种数据安全策略,很多系统都采用沙盒设计. 沙盒目录设计的原理就是只能允许自己的应用程序访问目录,而不允许其他的应用访问. 1.Documents目录:该目录用于存储非常大的文件或非常频繁更新的数据,能够进行iTunes或iCloud的备份,获取目录位置的代码如下: 1 NSString * pathArr = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) la

iOS学习笔记之UITableViewController&amp;UITableView

iOS学习笔记之UITableViewController&UITableView 写在前面 上个月末到现在一直都在忙实验室的事情,与导师讨论之后,发现目前在实验室完成的工作还不足以写成毕业论文,因此需要继续思考新的算法.这是一件挺痛苦的事情,特别是在很难找到与自己研究方向相关的文献的时候.也许网格序列水印这个课题本身的研究意义就是有待考证的.尽管如此,还是要努力的思考下去.由于实验室的原因,iOS的学习进度明显受到影响,加之整理文档本身是一件耗费时间和精力的事情,因此才这么久没有写笔记了. M

IOS学习笔记 -- Modal和Quartz2D

一. Modal1.Modal的默认效果:新控制器从屏幕的最底部往上钻,直到盖住之前的控制器为止;Modal只是改变了View的现实,没有改变rootViewController 2.常用方法1>.以Modal的形式展示控制器- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion2>.关

iOS学习笔记(1)— UIView 渲染和内容管理

iOS学习笔记(1)— UIView 渲染和内容管理 iOS中应用程序基本上都是基于MVC模式开发的.UIView就是模型-视图-控制器中的视图,在iOS终端上看到的.摸到的都是UIView. UIView在屏幕上定义了一个矩形区域和管理区域内容的接口.在运行时,一个视图对象控制该区域的渲染:UIView继承自UIResponder,UIResponder是用来响应事件的类,UIView也具有响应事件的能力.所以说UIView具有三个基本的功能,绘制内容并管理内容的布局,响应用户交互,动画.正是