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
}