'InfoKey'不是'UIImagePickerController'的成员类型

问题描述 投票:1回答:2

我收到此错误:

'InfoKey'不是'UIImagePickerController'的成员类型

我浪费时间搜索问题但失败了。

private func imagePickerController(_ picker: UIImagePickerController,
                           didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
    picker.dismiss(animated: true, completion: nil)
    guard let image = info[.originalImage] as? UIImage else {
        return
    }
}

Xcode 9.4,Swift 4.1

swift xcode image uikit
2个回答
8
投票

您正在尝试使用需要Xcode 10的较新的iOS 12 API。如果您使用的是Xcode 9.4,那么您使用的是iOS 11,并且您需要使用即将推出的旧版API。

private func imagePickerController(_ picker: UIImagePickerController,
                           didFinishPickingMediaWithInfo info: [String : Any]) {
    picker.dismiss(animated: true, completion: nil)
    guard let image = info[UIImagePickerControllerOriginalImage] as? UIImage else {
        return
    }
}

1
投票

首先,您需要删除private关键字。它可能被添加到沉默警告。

您提供的语法来自swift的不同版本而不是4

这是新的

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
    let image = info[UIImagePickerControllerOriginalImage] as? UIImage
}
© www.soinside.com 2019 - 2024. All rights reserved.