requestImageForAsset总是返回nil - 即使在检查nil后也是如此

时间:2016-05-27 13:54:15

标签: ios swift swift2

所以,我有一个奇怪的(令人沮丧的)问题。 我正在遍历由图像选择器返回的一系列资产:

let manager = PHImageManager.defaultManager()
let options = PHImageRequestOptions()
for asset in assets {
    var image = UIImageView?
    manager.requestImageForAsset(asset, targetSize: CGSize(width: asset.pixelWidth, height: asset.pixelHeight), contentMode: .AspectFit, options: option, resultHandler: { (result, info) -> Void in
        if result == nil {
            print("Nil alert!")
            return
        }
        print("not nil")
        image!.image = result

    }
}

在控制台中,我收到了预期的消息:

not nil

紧接着是这条消息:

fatal error: unexpectedly found nil while unwrapping an Optional value

我一直在乱搞这几个小时,我似乎无法弄清楚究竟是什么问题。如果我尝试直接打印result,则会显示<UIImage: 0x12f780a20>, {45, 60}

之类的内容

欢迎任何帮助:)

1 个答案:

答案 0 :(得分:0)

在定义之后,您没有向image设置任何内容,因此这里将nil

 var image = UIImageView?

当您在此处使用!强制解包时,您将遇到运行时错误:

 image!.image = result