Swift调用OC的Block

作者: 乡水情缘 | 来源:发表于2016-12-20 10:33 被阅读701次

    Swift调用OC的block是个难题,我反复试了几回都没有成功,最近偶然的一次实验才成功调用.
    内容比较基础,主要是为了帮助和我一样被这个问题困扰的同学..
    首先在MLSelectPhotoPickerViewController 定义一个block

    typedef void(^callBackBlock)(id obj);
    

    Oc的调用方法:

    MLSelectPhotoPickerViewController *pickerVC = [[MLSelectPhotoPickerViewController alloc] init];
    pickerVC.callBack = ^(NSArray *assects){
      //
    };
    

    Swift的正确的调用方法:

    let addWaterVC = MLSelectPhotoPickerViewController()
    addWaterVC.callBack = { (AnyObject) -> () in
                print(AnyObject!);
    });
    

    所以总结如下:

    // oc的block
    返回值(^名称)(类型 传值)
    // swift里调用
    名称 = {(传值)->(返回值) in 
    
    }
    

    相关文章

      网友评论

        本文标题:Swift调用OC的Block

        本文链接:https://www.haomeiwen.com/subject/nspxvttx.html