【问题标题】:Swift error fatal error: unexpectedly found nil while unwrapping an Optional valueSwift 错误致命错误:在展开可选值时意外发现 nil
【发布时间】:2015-10-21 15:49:01
【问题描述】:

当我执行“image = self.originalImageView.image!”时在下面的代码中。我收到一个错误信号“致命错误:在展开可选值时意外发现 nil”。谁能告诉我如何克服这个问题?

func displayPhoto()
    {
        let imageManager = PHImageManager.defaultManager()

       //  var image:UIImage = self.imageView.image!
    var ID = imageManager.requestImageForAsset(self.photosAsset[self.index] as! PHAsset, targetSize: PHImageManagerMaximumSize, contentMode: .AspectFit, options: nil, resultHandler: {(result:UIImage!, info: [NSObject: AnyObject]!)in
        self.originalImageView.image = result     
    })

    var image:UIImage?
    image = self.originalImageView.image!
    print("Hello")

   self.imageView.image = image!.getGrayScale()

}

【问题讨论】:

标签: ios swift photolibrary


【解决方案1】:

requestImageForAsset异步工作,方法退出后在block后面返回结果,将处理结果的代码放入block中。

而且您可能必须在主线程上调度更新 UI。

func displayPhoto()
{
    let imageManager = PHImageManager.defaultManager()

    //  var image:UIImage = self.imageView.image!
    var ID = imageManager.requestImageForAsset(self.photosAsset[self.index] as! PHAsset, targetSize: PHImageManagerMaximumSize, contentMode: .AspectFit, options: nil, resultHandler: {(result:UIImage!, info: [NSObject: AnyObject]!)in
    dispatch_async(dispatch_get_main_queue()) {
      self.originalImageView.image = result
      self.imageView.image = result.getGrayScale()
    }  
    print("Hello")   
  })
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-30
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多