Swift UIDeviceOrientation(enum)やUIInterfaceOrientation(enum)のrawValueを文字列表示
UIDeviceOrientationとUIInterfaceOrientationはenum
extensionでtoString()実装
extension UIDeviceOrientation { func toString() -> String { var result = "" switch self.rawValue { case 0: result = "unknown" case 1: result = "portrait" case 2: result = "portraitUpsideDown" case 3: result = "landscapeLeft" case 4: result = "landscapeRight" case 5: result = "faceUp" case 6: result = "faceDown " default: break } return result } }
Javaエンジニアの発想、仕事はJava使用率高ですが。
extentionでコンピューテッドプロパティ description実装
extension UIDeviceOrientation { public var description: String { var result = "" switch self.rawValue { case 0: result = "unknown" case 1: result = "portrait" case 2: result = "portraitUpsideDown" case 3: result = "landscapeLeft" case 4: result = "landscapeRight" case 5: result = "faceUp" case 6: result = "faceDown " default: break } return result } }
ちょっとSwiftぽく。
extentionでCustomStringConvertibleプロトコル適用
extension UIDeviceOrientation: CustomStringConvertible { public var description: String { var result = "" switch self.rawValue { case 0: result = "unknown" case 1: result = "portrait" case 2: result = "portraitUpsideDown" case 3: result = "landscapeLeft" case 4: result = "landscapeRight" case 5: result = "faceUp" case 6: result = "faceDown " default: break } return result } }
正解!?
memo
リフレクション使用して出来れば良いが、現時点では見つからなかった。