iOS 开发之协议-代理传值(2)

来源:未知 责任编辑:责任编辑 发表时间:2014-01-26 21:59 点击:

接下来为WTowViewController 创建一个.xib文件,步骤以此如下:

  a、鼠标右键DelegateByValue,点击New File...

    

  b、然后弹出如下窗口:

    

    这次我们选择iOS > User Interface > View,单击 Next,取名为WTwoViewController,然后Create。

    创建好WTwoViewController后,我们让WTwoViewController.xib与WTwoViewController.h关联起来,

 

  按照上图1、2、3的步骤依次进行,选中1,点击2,设置3 Class为WTwoViewController,然后回车,


点击4、按住5 view后边的空心圆,拖动到6 view上,然后松手及

接下来给view上拖一个UITextField和一个UIButton,并给UITextField起名为txtValue,给UIButton设置一个Action,起名为pressChange

步骤如下:

1、分屏显示xib与代码,

2、选择UITextField,并按住control键, 拖动到右侧的代码(WTwoViewController.h)区域,会弹出如下窗口:

为其设置名称,然后点击Connect;

3、同样,选择UIButton,并按住control键,拖动到右侧代码(WTwoViewController.h)区域,会弹出如下窗口:

这次因为是要给UIButton设置点击事件,所以改变1 Connection为Action,然后设置名称,点击Connect。

 

至此WTwoViewController的窗口视图以设置完成。

同样步骤设置WViewController.xib窗口。

给 view 上拖一个UILabel和一个UIButton,并给UILabel起名为lblValue,给UIButton设置一个Action,起名为pressCasting。
 

 

接下来在WTwoViewController.h中定义一个协议,WTwoViewControllerDelegate,并给WTwoViewController定义一个代理,代码如下:


//
//  WTwoViewController.h
//  DelegateByValue
//
//  Created by wzrong on 13-7-20.
//  Copyright (c) 2013年 wzrong. All rights reserved.
//

#import <UIKit/UIKit.h>

@protocol WTwoViewControllerDelegate <NSObject>

- (void)changeValue:(NSString *)value;

@end

@interface WTwoViewController : UIViewController

@property (nonatomic, unsafe_unretained) id<WTwoViewControllerDelegate> delegate;

@property (nonatomic, strong) IBOutlet UITextField *txtValue;

- (IBAction)pressChange:(id)sender;

@end

接下来在WTwoViewController.m中的 - (IBAction)pressChange:(id)sender 方法中把代理派发出去,顺便把窗口给销毁,代码如下:

- (IBAction)pressChange:(id)sender {
    [self.delegate changeValue:self.txtValue.text];
    [self dismissViewControllerAnimated:YES completion:nil];
}

WTwoViewController中的设置已经完成,接下要在WViewController中调用WTwoViewController,并实现WTwoViewControllerDelegate代码。

首先在WViewController.h中实现代理,代码如下:


//
//  WViewController.h
//  DelegateByValue
//
//  Created by wzrong on 13-7-20.
//  Copyright (c) 2013年 wzrong. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "WTwoViewController.h"

@interface WViewController : UIViewController<WTwoViewControllerDelegate>

@property (strong, nonatomic) IBOutlet UILabel *lblValue;

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Lexical or Preprocessor Issue 'xxx.h
  • ios学习笔记(二)xcode 4.3.2下实现基本交互
  • ios版本的helloworld
  • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
  • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
  • IOS类似iphone通讯录TableView的完整demo【附源码】
  • UITableView一些方法
  • [iPhone中级]iPhone团购信息客户端的开发 (二)
  • iphone(object-c)内存管理(1)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1