Swift - 类型 'int' 不符合协议(protocol) 'intervaltype'

标签 swift switch-statement

我找到了下面的教程,它建议代码应该可以工作。但是,这两种情况都会抛出 type 'int' does not conform to protocol 'intervaltype' 错误

Swift 切换教程:http://www.codingexplorer.com/loops-switch-statements-ranges-swift/

let arrayCount = someArray?.count

switch arrayCount
{
case 0:
    println("zero")
case 1:
    println("one")
default:
    println("etc")
}

最佳答案

该数组声明为可选,因此其计数类型为 Optional(Int)。在 switch 语句中使用计数之前,有必要检查 someArray 是否为 nil。这是一种方法:

if let arrayCount = someArray?.count {
    switch arrayCount {
        case 0:
            println("zero")
        case 1:
            println("one")
        default:
            println("etc")
    }
}

如果数组不是nil,赋值就会成功,if block 就会执行。

如果您确定数组不是nil,您可以使用let arrayCount = someArray!.count而不是条件赋值。

关于Swift - 类型 'int' 不符合协议(protocol) 'intervaltype',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29129337/

相关文章:

ios - 快速自动布局+尺寸等级问题

ios - 点击按钮取消 AWSS3 TransferUtility 上传任务

ios - 在 Action 中设置按钮文本

Swift - 多个开关盒

ios - 图像缩放时如何获取屏幕的中心点

php 将数据存储在 mysql 中作为可选(“a”)而不是普通字符串

javascript - JS 开关盒不工作

java - 拖放开关盒,无法访问代码?

swift - 在 observeValueForKeyPath 中使用开关

c - 我该怎么做才能使我的程序在 do while 循环中保持在开关中输入的最小数字?