zoukankan      html  css  js  c++  java
  • 关于OC中的block自己的一些理解(二)

    一、block延伸:页面间反向传值

    1)first页面的代码

    - (void)viewDidLoad {
        [super viewDidLoad];
        [self setupBtn];
        self.view.backgroundColor = [UIColor whiteColor];
        
    }
    - (void)setupBtn
    {
        UIButton * btn = [[UIButton alloc]init];
        [btn addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];
        btn.backgroundColor = [UIColor blackColor];
        btn.frame = CGRectMake(100, 100, 100, 100);
        [self.view addSubview:btn];
    }
    - (void)buttonClick
    {
        SecondViewController * secondVC = [[SecondViewController alloc]init];
        //在first页面调用block输出字符串
        secondVC.myBlock= ^(NSString * str){
            NSLog(@"%@",str);
        };
        [self.navigationController pushViewController:secondVC animated:YES];
    }

    2)second页面的代码

    //.h文件
    #import <UIKit/UIKit.h>
    
    @interface SecondViewController : UIViewController
    //定义block
    @property (nonatomic,copy)void (^myBlock)(NSString * str);
    @end
    //.m文件
    - (void)setupBtn
    {
        UIButton * btn = [[UIButton alloc]init];
        [btn addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];
        btn.backgroundColor = [UIColor blackColor];
        btn.frame = CGRectMake(100, 100, 100, 100);
        [self.view addSubview:btn];
    }
    - (void)buttonClick
    {
        //通过block传值
        if (self.myBlock) {
            self.myBlock(@"haha");
        }
        [self.navigationController popToRootViewControllerAnimated:YES];
    }

    输出结果:

    2016-02-19 11:36:55.168 03-block[983:70116] haha

    参考博客:http://my.oschina.net/leejan97/blog/268536?fromerr=2UdIND3G

  • 相关阅读:
    css3 容器内容垂直居中
    css3 背景图动画一
    C# linq 最大、最小对象的扩展
    线程中为控件赋值Winform
    C#在高分屏上让窗体程序忽略系统的显示缩放
    获取搜索到的内容
    XMLHelper
    获得WebBrowser中的图片数据
    单例模式通用类
    将实体类、匿名对象转换为SqlParameter列表
  • 原文地址:https://www.cnblogs.com/fengzhihao/p/5200527.html
Copyright © 2011-2022 走看看