码迷,mamicode.com
首页 > 移动开发 > 详细

IOS 代码块传值

时间:2015-12-16 12:30:33      阅读:688      评论:0      收藏:0      [点我收藏+]

标签:

#import <UIKit/UIKit.h>
typedef void (^MyBlock)(NSString*);
@interface SecondViewController : UIViewController

@property (retain,nonatomic)UITextField* myTextField;
@property(copy,nonatomic)MyBlock block;
-(SecondViewController*)initWithBlock:(MyBlock)block;



@end

#import "SecondViewController.h"

@interface SecondViewController ()

@end

@implementation SecondViewController
-(SecondViewController *)initWithBlock:(MyBlock)block
{
    if (self=[super init]) {
        self.block=block;
    }
    return self;
}
- (void)viewDidLoad {
    [super viewDidLoad];
    UIButton* btnTest=[UIButton buttonWithType:UIButtonTypeRoundedRect];
    
    btnTest.frame=CGRectMake(120, 130, 80, 30) ;
    [btnTest setTitle:@"Test" forState:UIControlStateNormal];
    
    [btnTest addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btnTest];
    
    UITextField* textField=[[UITextField alloc]initWithFrame:CGRectMake(120, 80, 80, 30)];
    textField.borderStyle=UITextBorderStyleRoundedRect;
    [self.view addSubview:textField];
    self.myTextField=textField;
}
-(void)back{
    if (self.block) {
        self.block(self.myTextField.text);
    }
    [self.navigationController popToRootViewControllerAnimated:YES];
}

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

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end




#import "ViewController.h"
#import "SecondViewController.h"
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    UIBarButtonItem* btnName=[[UIBarButtonItem alloc]initWithTitle:@"Next" style:UIBarButtonItemStyleDone target:self action:@selector(next)];
    self.navigationItem.rightBarButtonItem=btnName;
    // Do any additional setup after loading the view, typically from a nib.
}
-(void)next{
    SecondViewController* secondVC=[[SecondViewController alloc]initWithBlock:^(NSString* str){
        NSLog(@"%@",str);
        self.title=str;
    }];
    [self.navigationController pushViewController:secondVC animated:YES];
}

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

@end

 

IOS 代码块传值

标签:

原文地址:http://www.cnblogs.com/mojiewei/p/5050337.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!