UIImagePickerViewController
의 대리자 메서드에서 미디어 유형을 테스트하고 싶습니다. kutTypeImage에 대해 UIImagePickerControllerMediaType을 테스트하는 방법은 무엇입니까?
이
스위프트 3 에서 근무 :Expression pattern of type '
CFString
' cannot match values of type 'NSString
'
나는 오류없이이로 변경하지만, 형식 변환 : 스위프트 4
switch info[UIImagePickerControllerMediaType] as? NSString {
case .some(kUTTypeImage):
//...
}
그러나 , 그것은 오류가 발생합니다 우아한 보이지 않는 :
switch info[UIImagePickerControllerMediaType] as? String {
case .some(kUTTypeImage as NSString as String):
//...
}
나는 그것을 단축하려고 :
switch info[UIImagePickerControllerMediaType] as? NSString {
case .some(kUTTypeImage as NSString):
// ...
}
을하지만이 다시 오류가 발생합니다 :
Expression pattern of type 'CFString' cannot match values of type 'NSString'
ㄱ) 짧은 버전에서 오류가 발생하지만 이상 버전을 수행하지 않는 이유는 무엇입니까?
b) 좀 더 우아한 (더 짧은) 방법이 있습니까?
어떤 이유로 미디어 검색이 실패하고 정보 사전에 속성이없는 경우 예외가 발생합니다. 따라서 여기에 unwrap을 강요하지 않는 것을 선호합니다. – Manuel
값이 'nil'이면 언 래핑하기 전에 확인할 수 있습니다. – the4kman
사실이에요. 그러나 나는 애플에게 버그를 제기 할 것이다. – Manuel