最近项目中用的是swift开发语言,需要调用oc代码中一个多参数的block,因为在swift中后面参数需要自己手敲出来,不会自动带出,记录一下,转载请注明出处。谢谢。
//oc中定义的多参数block为:
@property (nonatomic, copy) void (^didFinishPickingPhotosWithInfosHandle)(NSArray<UIImage *> *photos,NSArray *assets,BOOL isSelectOriginalPhoto,NSArray<NSDictionary *> *infos);
//swift中调用时候
imagePickerVc?.didFinishPickingPhotosWithInfosHandle = {(photos:[UIImage]?, assets:[Any]?, isSelectOriginalPhoto:Bool, infos:[[AnyHashable : Any]]?) -> Void in
print("在这里使用block传输的数据")
}
主要是记住一个原则如下:
oc的block
返回值(^名称)(类型 传值)
// swift里调用
名称 = {(传值)->(返回值) in
}