iOS 下实现代理设计模式

我们实现一个简单的代理设计模式,在一个试图控制器中点击按钮去对另一个试图控制器的控件进行操作。

本文代码例子:http://pan.baidu.com/s/1f1CkK

看代码吧

CustomViewViewController.h 要自己在XIB上拖一个Button啊

//
//  CustomViewViewController.h
//  CustomDelegate
//
//  Created by 杜甲 on 13-9-26.
//  Copyright (c) 2013年 杜甲. All rights reserved.
//

#import <UIKit/UIKit.h>

@protocol ChangeTextViewDelegate <NSObject>
-(void)textEntered:(NSString*)text;


@end


@interface CustomViewViewController : UIViewController


@property (assign,nonatomic) id<ChangeTextViewDelegate>delegate;
-(IBAction)exchangeData;

@end


CustomViewViewController.m

//
//  CustomViewViewController.m
//  CustomDelegate
//
//  Created by 杜甲 on 13-9-26.
//  Copyright (c) 2013年 杜甲. All rights reserved.
//

#import "CustomViewViewController.h"

@interface CustomViewViewController ()

@end

@implementation CustomViewViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
}
-(IBAction)exchangeData
{
    [_delegate textEntered:@"ffff"];
    
    [self dismissViewControllerAnimated:YES completion:^{}];
}
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

ViewController.h

//
//  ViewController.h
//  CustomDelegate
//
//  Created by 杜甲 on 13-9-26.
//  Copyright (c) 2013年 杜甲. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "CustomViewViewController.h"
@interface ViewController : UIViewController<ChangeTextViewDelegate>
@property (retain, nonatomic) IBOutlet UILabel *myTest;
@property (retain, nonatomic) CustomViewViewController* CTVC ;

-(IBAction)changeText:(id)sender;
@end

ViewController.m

//
//  ViewController.m
//  CustomDelegate
//
//  Created by 杜甲 on 13-9-26.
//  Copyright (c) 2013年 杜甲. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    self.CTVC = [[CustomViewViewController alloc] init];
    self.CTVC.delegate = self;
    
}

-(IBAction)changeText:(id)sender
{
    [self presentViewController:self.CTVC animated:YES completion:^{
    }];
    
}

-(void)textEntered:(NSString *)text
{
    self.myTest.text = text;
}



- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)dealloc {
    [_myTest release];
    [super dealloc];
}
@end




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杜甲同学

感谢打赏,我会继续努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值