Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift PHImageManager正在发送重复的照片_Swift - Fatal编程技术网

Swift PHImageManager正在发送重复的照片

Swift PHImageManager正在发送重复的照片,swift,Swift,我的代码如下。它正在发送1)高质量和2)低质量的重复照片。我只是想了解这个图书馆为什么这么做 PHImageManager.default().requestImage(for: asset, targetSize: size, contentMode: .aspectFit, options: nil) { result, info in guard let image = result else { return } self.sendPho

我的代码如下。它正在发送1)高质量和2)低质量的重复照片。我只是想了解这个图书馆为什么这么做

      PHImageManager.default().requestImage(for: asset, targetSize: size, contentMode: .aspectFit, options: nil) { result, info in
    guard let image = result else {
      return
    }

    self.sendPhoto(image)
  }

修复了强制选项发送质量的问题

fileprivate func imageRequestOptions() -> PHImageRequestOptions {
    let requestOption = PHImageRequestOptions()
    requestOption.deliveryMode = .highQualityFormat
    return requestOption
}

PHImageManager.default().requestImage(for: asset, targetSize: size, contentMode: .aspectFit, options: self.imageRequestOptions()) { result, info in
            guard let image = result else {
                return
            }

            self.sendPhoto(image)
            print("sendPhoto iOS 11.0 * asset")
        }

来自苹果公司的文件

对于异步请求,Photos可能会多次调用结果处理程序块。Photos首先调用块以提供适合临时显示的低质量图像,同时准备高质量图像。(如果低质量图像数据立即可用,则第一次调用可能会在方法返回之前发生。)当高质量图像准备就绪时,Photos会再次调用结果处理程序以提供它。如果图像管理器已经以完全质量缓存了请求的图像,Photos只调用一次结果处理程序。结果处理程序的info参数中的PHIMAGEResultisDegradeKey键指示照片何时提供临时低质量图像。 您可以对照片和视频资源使用此方法。对于视频资源,图像请求提供缩略图或海报框

也许这是他们的事。我想我们应该注意这个案子