一、RootViewController:
- #import "RootViewController.h"
- #import "SecondViewController.h"
- @interface RootViewController ()
- {
- UILabel *_myLabel;
- }
- @end
- @implementation RootViewController
- - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
- {
- self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
- if (self) {
- // Custom initialization
- }
- return self;
- }
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- self.title = @"第一页";
- UIBarButtonItem *item = [[UIBarButtonItem alloc]initWithTitle:@"下一页" style:UIBarButtonItemStylePlain target:self action:@selector(nextPage)];
- self.navigationItem.rightBarButtonItem = item;
- _myLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 100, 320, 50)];
- _myLabel.textAlignment = NSTextAlignmentCenter;
- _myLabel.text = @"Blocks";
- [self.view addSubview:_myLabel];
- // Do any additional setup after loading the view from its nib.
- }
- -(void)nextPage{
- SecondViewController *second = [[SecondViewController alloc]initWithBlock:^(NSString *str) {
- NSLog(@"%@",str);
- _myLabel.text = str;
- }];
- [self.navigationController pushViewController:second animated:YES];
- }
- - (void)didReceiveMemoryWarning
- {
- [super didReceiveMemoryWarning];
- // Dispose of any resources that can be recreated.
- }
- @end
二、SecondViewConroller:
.h文件
- #import <UIKit/UIKit.h>
- typedef void(^myBlock)(NSString *);
- @interface SecondViewController : UIViewController
- {
- myBlock block;
- }
- -(id)initWithBlock:(myBlock)str;
- @end
.m文件
- #import "SecondViewController.h"
- @interface SecondViewController ()
- @end
- @implementation SecondViewController
- -(id)initWithBlock:(myBlock)str{
- self = [super init];
- if(self)
- {
- block = str;
- }
- return self;
- }
- - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
- {
- self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
- if (self) {
- // Custom initialization
- }
- return self;
- }
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
- myButton.frame = CGRectMake(100, 100, 100, 50);
- [myButton setTitle:@"点我传值!" forState:UIControlStateNormal];
- [myButton addTarget:self action:@selector(clicked) forControlEvents:UIControlEventTouchUpInside];
- [self.view addSubview:myButton];
- // Do any additional setup after loading the view from its nib.
- }
- -(void)clicked{
- NSLog(@"我被点击了!");
- if (block) {
- block(@"哈哈");
- }
- //[self.navigationController popViewControllerAnimated:YES];
- }
- - (void)didReceiveMemoryWarning
- {
- [super didReceiveMemoryWarning];
- // Dispose of any resources that can be recreated.
- }