iOS-Swift调用OC的Block(MLSelectPhoto)

前言

引入OC的第三方库请看我的另一篇博客Swfit-MJRefresh
Swift调用OC的block是个难题,我反复试了几回都没有成功,最近偶然的一次实验才成功调用.
内容比较基础,主要是为了帮助和我一样被这个问题困扰的同学..

Show Me The Code

MLSelect内有一个callBack的闭包是这么定义的

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);
            self.dismissViewControllerAnimated(true, completion: { () -> Void in
                
            });
        }

所以总结如下:

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

其他

宣传一下我最近正在做的开源项目WaterLabel,有兴趣的同学可以和我一起完成它~

iOS-Swift调用OC的Block(MLSelectPhoto)_第1张图片
主页
iOS-Swift调用OC的Block(MLSelectPhoto)_第2张图片
选择照片

GitHub:https://github.com/Lafree317/WaterLabel

你可能感兴趣的:(iOS-Swift调用OC的Block(MLSelectPhoto))