我将信息存储在plist文件中,然后将其放入字典中。
我有一堂课,设置了一些枚举,如下所示:
enum componentPostion {
case upperLeft, UpperRight, lowerLeft, lowerRight
}
我声明了一个类型为componentPostion的var
var isPosition: componentPostion
然后我可以根据字典中的值设置枚举,而不必编写带有switch语句等的函数吗?
isPosition = componentInfo["Type"] as componentPostion
最佳答案
您可以通过从要保留的类型继承枚举来使用原始值,在这种情况下,我假设它是字符串:
enum componentPostion : String{
case upperLeft = "upperLeft"
case upperRight = "upperRight"
case lowerLeft = "lowerLeft"
case lowerRight = "lowerRight"
}
然后,您可以使用
fromRaw()
获得枚举大小写:let isPosition = componentPostion.fromRaw("upperLeft")
和
toRaw()
获得其字符串表示形式isPosition.toRaw()
请注意,如果参数与为枚举定义的任何原始值都不匹配,则
fromRaw()
返回一个可选值建议阅读:Raw Values