swift - 对错误消息感到困惑(lldb)

标签 swift null

例如,13 被输入到由 numberField 引用的文本字段中

@IBAction func calculateButton(sender: AnyObject) {

            var numInt = numberField.text.toInt()

            println(numInt) //outputs Optional(13)
            println(numInt!) //outputs 13

            if numInt != nil {

                var unwrappedNum = numInt!
                var isPrime = true
                println(unwrappedNum) //Crashes here and outputs (lldb)

                for var i = 1; i<unwrappedNum; i++ {
                    if unwrappedNum % i == 0 {
                        isPrime = false

                    }
                }
            }
}

我在网上查了一下,我认为问题是它的计算结果为 nil,但我不明白当 if 语句之外它不是 nil 时,它如何计算为 nil。

最佳答案

最快捷的方法是使用可选绑定(bind),而不是nil检查。

if let unwrappedNum = numInt
{
    println(unwrappedNum)
}

或者你也可以这样做

if let numInt = numberField.text.toInt()
{
    println(numInt)
}

numInt 将被解包。

有关更多信息,请阅读:http://www.appcoda.com/beginners-guide-optionals-swift/

关于swift - 对错误消息感到困惑(lldb),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28167262/

相关文章:

Swift 的映射函数

ios - 按下按钮到下一个 "storyboard"在 Swift 中以编程方式设计 UI

sql - 如何处理原始可空类型的 Spark UDF 输入/输出

sqlite - 过滤掉 SQLite 数据库中的 NULL 条目

java - 仅允许 null 选择加入

c# - 从 'empty' 控件中为变量赋值,一定有更好的方法!

ios - 为 UITableView 自定义详细信息披露按钮配置操作

ios - 两种设置按钮初始状态的方法的区别

swift - 如何从容器 View 呈现 View Controller ?

mysql - 带 NULL 的唯一键