Swift:使用元组在单个开关案例中的多个间隔 [英] Swift: Multiple intervals in single switch-case using tuple

查看:24
本文介绍了Swift:使用元组在单个开关案例中的多个间隔的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有这样的代码:

switch (indexPath.section, indexPath.row) {
    case (0, 1...5): println("in range")
    default: println("not at all")
}

问题是我可以在第二个元组值中使用多个区间吗?

对于非元组切换,它可以很容易地完成,就像

for non-tuple switch it can be done pretty easily like

switch indexPath.section {
case 0:
    switch indexPath.row {
    case 1...5, 8...10, 30...33: println("in range")
    default: println("not at all")
    }
default: println("wrong section (indexPath.section)")
}

我应该使用哪个分隔符来分隔元组内的间隔,否则它不适用于元组开关,我必须在开关内使用开关?谢谢!

Which separator should I use to separate my intervals inside tuple or it's just not gonna work for tuple switches and I have to use switch inside switch? Thanks!

推荐答案

你必须在顶层列出多个元组:

You have to list multiple tuples at the top level:

switch (indexPath.section, indexPath.row) {
    case (0, 1...5), (0, 8...10), (0, 30...33):
        println("in range")
    case (0, _):
        println("not at all")
    default:
        println("wrong section (indexPath.section)")
}

这篇关于Swift:使用元组在单个开关案例中的多个间隔的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆