我如何使用switch语句UIImagePickerControllerMediaType
?
下面的示例引发奇怪的编译器错误:
“ CFString”类型的表达模式不能与“ 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
经常开机,则比较棘手,但打字较少。
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
}
请参阅节“表达模式”模式语言参考章节(雨燕2.2)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句