Swift 调用OC的多参数Block

最近项目中用的是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
                        
 }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容