Swift调用OC的Block

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 

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容