Ambiguous use of ‘setImage(with:placeholder:options:progressBlock:completion

    技术2023-08-21  80

    avatarImgView.kf.setImage(with: URL(string: avarUrlOk), placeholder: nil, options: nil, progressBlock: nil, completionHandler: nil) }

    不报错写法01

    avatarImgView.kf.setImage(with: URL(string: avarUrlOk), placeholder: UIImage(named: "mine_defualt_head"))

    不报错写法02

    avatarImgView.kf.setImage(with: URL(string: avarUrlOk), placeholder: placeHolder, options: nil, progressBlock: nil) { (reslt) in }

    虽然回调写的是 可选项,但是用的时候还是不能写成nil,可能是因为里边有设置默认值的原因,源码如下:

    @discardableResult public func setImage( with resource: Resource?, placeholder: Placeholder? = nil, options: KingfisherOptionsInfo? = nil, progressBlock: DownloadProgressBlock? = nil, completionHandler: ((Result<RetrieveImageResult, KingfisherError>) -> Void)? = nil) -> DownloadTask? { return setImage( with: resource.map { .network($0) }, placeholder: placeholder, options: options, progressBlock: progressBlock, completionHandler: completionHandler) }
    Processed: 0.009, SQL: 9