zoukankan      html  css  js  c++  java
  • ios Block学习

    ios block 回调传值,回调事件,

    直接上代码

    在firstVC里面的tableView 点击方法 ,里面点击跳到另一个nextVC,然后返回后的firstVC后回调值

    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
        
        NextViewController *next=[[NextViewController alloc]init];
        __block NextViewController *_next = next;//防止循环引用,这样写
        __weak typeof(self) _self = self;
        next.back=^(int index){
            NSLog(@"--%d",index);//回调的值打印出来
            _next.data=@"asdasdasd";//传a
            NSLog(@"index===%d",index);
            [_self openAlter];
        };
        [self presentViewController:next animated:YES completion:NULL];
    }

    在nextVC里面定义block,作为一个@property传值

    typedef void (^callBack)(int index);
    @interface NextViewController : UIViewController
    @property (nonatomic,assign)callBack back;

    在nextVC的viewDidLoad方法调用这个block:

    back(10);

    当点击返回,后,值就被回调到firstVC里面的block方法里。

    实现完成,block 就是匿名函数,比delegate简单实现了,传值,回调,

    学习来自 http://my.oschina.net/leejan97/blog/268536

  • 相关阅读:
    《我是一只IT小小鸟》
    实现对字符串的反转输出与句子的反转输出
    7.13学习记录
    CentOS 7 不能连接网路的解决方法
    Xshell连接linux服务器不成功的乌龙问题
    Python基础(二)数据类型
    Python基础(一)
    UML精粹3
    UML精粹2
    UML精粹1
  • 原文地址:https://www.cnblogs.com/zhangsongbai/p/3781947.html
Copyright © 2011-2022 走看看