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

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)
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章