【发布时间】:2015-12-19 07:07:47
【问题描述】:
enum DeviceiPad: String {
case iPadAir = "iPadAir"
case iPadAir2 = "iPadAir2"
}
func adjustFontsForDevices() {
let modelName = UIDevice.currentDevice().modelName
//iPad size adjustments
guard modelName == DeviceiPad.iPadAir.rawValue ||
DeviceiPad.iPadAir2.rawValue
else {return}
do {
adjustCountTitles()
}
modelName 调用一个字符串。我想检查该字符串是否与两个枚举原始值(也是字符串)中的任何一个匹配。
- 如果您不熟悉
guard,请不要让您抛弃它。错误与if相同 -
guard在只有一个字符串值时有效。添加第二个会引发错误。
一直在努力弄清楚为什么它将字符串值视为 Bool。也搜索了一下,但在其他地方没有看到这个问题。
有什么想法吗?
【问题讨论】:
-
你需要的是一个开关
-
对于投反对票的人,请提供理由。搜索了一下,没有找到答案。认为它可能对其他人有帮助。
-
谢谢,里奥。当我为任何条件运行相同的方法调用时,开关会进一步复制代码。我是开关的粉丝,但不认为这是他们适合的地方。
-
这不是真的。您可以将多个案例条件分组在一个案例中
-
在下面实现了你的建议,Leo。