在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/C  網(wǎng)絡(luò)安全/ 以下oc代碼用swift3應(yīng)該怎么寫?

以下oc代碼用swift3應(yīng)該怎么寫?

從oc代碼遷移到swift3,感覺(jué)進(jìn)了大坑。。。。

用的是TZImagePickerController這個(gè)插件,看了下網(wǎng)上的用例幾乎都是oc的用例。它的文檔里有這么一個(gè)屬性用來(lái)初始化

@property (nonatomic, copy) void (^didFinishPickingPhotosHandle)(NSArray<UIImage *> *photos,NSArray *assets,BOOL isSelectOriginalPhoto);

然后我用oc調(diào)用的示例是這樣的

// 你可以通過(guò)block或者代理,來(lái)得到用戶選擇的照片.
    [imagePickerVc setDidFinishPickingPhotosHandle:^(NSArray<UIImage *> *photos, NSArray *assets, BOOL isSelectOriginalPhoto) {
        //blablabla..
    }];

現(xiàn)在要用swift去做這件事,我的寫法->

imagePick?.didFinishPickingPhotosHandle({
        (photos:[UIImage]!,assets:[AnyObject]!,isSelectOriginalPhoto:Bool)->Void in
        
    })

結(jié)果它一直在報(bào)這個(gè)錯(cuò) ->

Cannot convert value of type '([UIImage]!, [AnyObject]!, Bool) -> Void' to expected argument type '([UIImage]?, [Any]?, Bool)'

我到底錯(cuò)在哪?能否求個(gè)解,已經(jīng)困擾了一天半。。。

上圖

圖片描述

圖片描述

回答
編輯回答
浪蕩不羈

用block

imagePick.didFinishPickingPhotosHandle = {(images: [UIImage]?, assets:[Any]?, isSelectOriginalPhoto: Bool) in
    print(images)
}

用代理

if let imagePick = TZImagePickerController.init(maxImagesCount: 5, delegate: nil) {
    imagePick.pickerDelegate = self
}
extension ViewController: TZImagePickerControllerDelegate {
    
    func imagePickerController(_ picker: TZImagePickerController!, didFinishPickingPhotos photos: [UIImage]!, sourceAssets assets: [Any]!, isSelectOriginalPhoto: Bool) {
        print(photos)
    }
}
2017年12月12日 19:03