rawValue:
을 사용하여 UInt
에서 Enum
을 생성하는 것에 대해 알고 있습니다. 그러나 012 신속한 수 UInt
Enum
로 as
을 사용하여? 다음은 WWDC 2016 이야기 Delivering an Exceptional Audio Experience에서 스크린 샷입니다 :UInt를 "as"로 Enum에 캐스트 할 수 있습니까?
당신이 볼 수 있듯이, 코드는 사전에서 숫자 값을 검색하고 as!
를 사용하여 Enum
에 캐스팅.
내 코드에서이 작업을 수행하지 못했습니다. 유효한 스위프트인가?
let x: AVAudioSessionInterruptionType = .began
let dictionary: NSDictionary = [AVAudioSessionInterruptionTypeKey: x.rawValue as NSNumber]
// crash
let value = dictionary[AVAudioSessionInterruptionTypeKey] as! AVAudioSessionInterruptionType
내가 스위프트 진화의 목록을했다 : 그것은해야한다, 예를 들어, 내 의견에로
예, Swift가 유효합니다. 나는 그것을 할 것을 제안했을 때 대부분 여러 번 사용했지만 정확한 예를 기억하지는 않습니다. –
Xcode 8의 제 버전에서 제대로 작동하지 못했고 직접 형 변환,'AnyObject'를 통한 형 변환 및'NSNumber'를 통한 형 변환을 시도했습니다. – Sulthan