首页 > 解决方案 > 为什么 Xcode 9.4.1 不允许我使用 UIImage pngData() 实例方法?

问题描述

根据本文档,我正在尝试使用 Apple UIKit 框架的 UIImage 类的 pngData() 实例方法:

https://developer.apple.com/documentation/uikit/uiimage/1624096-pngdata

当我在 Xcode 中键入该方法时,我收到一条错误消息:

'UIImage?' 类型的值 没有成员“pngData”

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    let image = UIImage(named: "moroni.png")

    let dataImage = image.pngData() // Value of type 'UIImage?' has no member 'pngData'

}

标签: iosuiimage

解决方案


好吧,我不知道为什么Document的页面显示错误,但是你的功能

image.pngData()

只能从 Swift 4.2 开始使用(可能还有更高版本),但您的 Xcode 9.4.1 仅支持 Swift 4.1。

从较旧的 Swift 版本,您可以(仅)使用

UIImagePNGRepresentation(_ image: UIImage) -> Data?

推荐阅读