zoukankan      html  css  js  c++  java
  • IOS 代码块传值

    #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
  • 相关阅读:
    优化SQL查询:如何写出高性能SQL语句
    提高SQL执行效率的16种方法
    Spring Ioc DI 原理
    java内存泄漏
    转:js闭包
    LeetCode Best Time to Buy and Sell Stock III
    LeetCode Best Time to Buy and Sell Stock with Cooldown
    LeetCode Length of Longest Fibonacci Subsequence
    LeetCode Divisor Game
    LeetCode Sum of Even Numbers After Queries
  • 原文地址:https://www.cnblogs.com/mojiewei/p/5050337.html
Copyright © 2011-2022 走看看