错误swift 3来自'PHAsset?' 'PHAsset'只展开选项;你的意思是用'!'?

时间:2016-09-21 18:04:59

标签: swift swift3 xcode8

我有这个奇怪的错误,并且没有任何想法来解决它。

我的代码在Xcode 7.3中运行良好。但是,在更新到Xcode 8后,我得到了近17个错误和21个警告。这可能是Swift 3中的一些语法更改

解决了所有这些但无法弄清楚这一点:来自'PHAsset?'的沮丧? 'PHAsset'只展开选项;你的意思是用'!'吗?

请帮助

let valorFoto = tuplesFoto.valorfoto.substring(to: tuplesFoto.valorfoto.characters.index(tuplesFoto.valorfoto.endIndex, offsetBy: -4))

            if let asset = PHAsset.fetchAssets(withLocalIdentifiers: [valorFoto], options: nil).firstObject as? PHAsset
            {
                PHImageManager.default().requestImageData(for: asset, options: nil, resultHandler: { (data: Data?, identificador: String?, orientaciomImage: UIImageOrientation, info: [AnyHashable: Any]?) -> Void in

                    if let data = data
                    {
                        if let image = UIImage(data: data)
                        {
                            DispatchQueue.main.async(execute: { () -> Void in
                                self.images.updateValue(image, forKey: tuplesFoto.valorfoto)
                                self.colDragAndDrop.reloadData()
                            })
                        }
                    }
                })

            }
            else
            {
                if let image = UIImage(named: "no_media")
                {
                    images.updateValue(image, forKey: tuplesFoto.valorfoto)
                }
            }

1 个答案:

答案 0 :(得分:1)

代码行: 前

if let asset = PHAsset.fetchAssets(withLocalIdentifiers: [valorFoto], options: nil).firstObject as? PHAsset

if let asset = PHAsset.fetchAssets(withLocalIdentifiers: [valorFoto], options: nil).firstObject