【问题标题】:Binary operator '==' cannot be applied to operands of type '[AnyHashable : Any]?' and 'String'二元运算符“==”不能应用于“[AnyHashable:Any]?”类型的操作数和“字符串”
【发布时间】:2020-06-13 09:28:11
【问题描述】:

我想在出现错误时显示警报,但我不知道如何打印错误。我认为我必须使用“信息”,但我不知道如何。它向我显示了这个错误:

二元运算符“==”不能应用于“[AnyHashable : Any]?”类型的操作数和'字符串'

extension PHAsset {

   func getAssetThumbnail(asset: PHAsset, sizeW: CGFloat, sizeH: CGFloat) -> UIImage {

    let retinaSquare = CGSize(width: sizeW, height: sizeH)

    let manager = PHImageManager.default()
    let options = PHImageRequestOptions()
    var thumbnail = UIImage()

    options.isSynchronous = true
    options.deliveryMode = .highQualityFormat
    options.resizeMode = .exact
    options.isNetworkAccessAllowed = true

    manager.requestImage(for: asset, targetSize: retinaSquare, contentMode: .aspectFit, options: options, resultHandler: {(result, info)->Void in
        thumbnail = result!

        if info == PHImageErrorKey {

        }

    })
    return thumbnail
 }

}

https://i.stack.imgur.com/j9hxL.png

感谢您的回答。

【问题讨论】:

    标签: ios swift xcode image compiler-errors


    【解决方案1】:

    正如错误明确指出的那样,info 是一本字典。您必须检查字典是否包含错误键

    if let error = info[PHImageErrorKey] as? String {
        print(error)
        // show an alert
    } else {
       thumbnail = result!
    }
    

    【讨论】:

      猜你喜欢
      • 2015-09-10
      • 1970-01-01
      • 2021-03-04
      • 2020-04-30
      • 2017-02-13
      • 1970-01-01
      • 2016-06-30
      • 2015-04-19
      • 1970-01-01
      相关资源
      最近更新 更多