iOS开发技术swift学习

Swift调用OC的Block

2016-12-20  本文已影响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 

}
上一篇下一篇

猜你喜欢

热点阅读