Swift 错误致命错误:在展开可选值时意外发现 nil
Posted
技术标签:
【中文标题】Swift 错误致命错误:在展开可选值时意外发现 nil【英文标题】:Swift error fatal error: unexpectedly found nil while unwrapping an Optional value 【发布时间】: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()
【问题讨论】:
查看您的关闭情况。将断点设置为 self.originalImageView.image = result 并检查结果是否为零。 What does "fatal error: unexpectedly found nil while unwrapping an Optional value" mean?的可能重复 【参考方案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")
)
【讨论】:
以上是关于Swift 错误致命错误:在展开可选值时意外发现 nil的主要内容,如果未能解决你的问题,请参考以下文章
swift 2 致命错误:在展开可选值时意外发现 nil - 类别名称
Swift 和 UILabel - 致命错误:在展开可选值时意外发现 nil
Swift 错误 - 致命错误:在展开可选值时意外发现 nil [重复]