iOS-Swift调用OC的Block(MLSelectPhot
2016-01-06 本文已影响3302人
轩辕小羽
前言
引入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,有兴趣的同学可以和我一起完成它~
主页 选择照片