从oc代码迁移到swift3,感觉进了大坑。。。。
用的是TZImagePickerController这个插件,看了下网上的用例几乎都是oc的用例。它的文档里有这么一个属性用来初始化
@property (nonatomic, copy) void (^didFinishPickingPhotosHandle)(NSArray<UIImage *> *photos,NSArray *assets,BOOL isSelectOriginalPhoto);
然后我用oc调用的示例是这样的
// 你可以通过block或者代理,来得到用户选择的照片.
[imagePickerVc setDidFinishPickingPhotosHandle:^(NSArray<UIImage *> *photos, NSArray *assets, BOOL isSelectOriginalPhoto) {
//blablabla..
}];
现在要用swift去做这件事,我的写法->
imagePick?.didFinishPickingPhotosHandle({
(photos:[UIImage]!,assets:[AnyObject]!,isSelectOriginalPhoto:Bool)->Void in
})
结果它一直在报这个错 ->
Cannot convert value of type '([UIImage]!, [AnyObject]!, Bool) -> Void' to expected argument type '([UIImage]?, [Any]?, Bool)'
我到底错在哪?能否求个解,已经困扰了一天半。。。
上图
用block
用代理