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
リフレクション使用して出来れば良いが、現時点では見つからなかった。






