gpt4 book ai didi

swift - 如何在 UIImagePickerController MediaType 上使用 switch 语句?

转载 作者:可可西里 更新时间:2023-11-01 00:36:39 26 4
gpt4 key购买 nike

如何在 UIImagePickerController MediaType 上使用 switch 语句?

以下示例抛出奇怪的编译器错误:

Expression pattern of type 'CFString' cannot match values of type 'CFString'.

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {

switch info[UIImagePickerControllerMediaType] as! CFString {

case kUTTypeImage:
break

default:
break
}
}

最佳答案

我可以建议两种方法来解决这种不便。

转换为字符串

简单,但需要额外输入。

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {

switch info[UIImagePickerControllerMediaType] as! String {
case String(kUTTypeImage):
break
default:
break
}
}

为 CFString 类型实现模式匹配运算符

如果您需要经常打开 CFString,则更棘手,但输入更少。

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {

switch info[UIImagePickerControllerMediaType] as! CFString {
case kUTTypeImage:
break
default:
break
}
}

func ~=(pattern: CFString, value: CFString) -> Bool {
return pattern == value
}

参见 Patterns 中的“表达式模式”部分语言引用(Swift 2.2)中的章节。

关于swift - 如何在 UIImagePickerController MediaType 上使用 switch 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36797399/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com