【问题标题】:Swift - adding values captured in two textfieldsSwift - 添加在两个文本字段中捕获的值
【发布时间】:2015-04-14 01:52:43
【问题描述】:

我似乎对一个非常简单的场景有疑问。

我正在尝试添加由两个文本字段(称为 T1 和 T2)捕获的值,并在按下标签 (Label1) 上的按钮 (GoButton) 时显示它们的总数。

我尝试了多种方式的语法措辞,但仍然不起作用。我觉得我在网上找到的一些语法对我不起作用。我在 Yosemite 上使用 Xcode 6.3。

截图:

我的 Xcode 是否有可能缺少一些东西来接受 swift 语法?请帮忙。

【问题讨论】:

    标签: swift xcode6


    【解决方案1】:

    但丁- 这些值仍有可能为零。您已正确 !ed 文本字段,因此它们会自动展开,但 Int 转换也是可选的(Int 仍然认为它可能会得到一个 nil 值)。

    Label1.text = "\(T1.text.toInt()! + T2.text.toInt()!)"
    

    有用的提示 - 如果您将代码粘贴到此处(而不是屏幕截图),人们可以更轻松地将代码复制并粘贴到他们的 IDE 中并进行测试。

    对于那些比我聪明的人(每个人)我很好奇为什么 Xcode 不抱怨单个 Int 转换:

    Label1.text = "\(T1.text.toInt())"  // no complaint from the compiler
    

    【讨论】:

      【解决方案2】:

      T1.text.toInt() 是一个可选整数。所以你必须先打开它。所以使用Label1.text = "\(T1.text.toInt()! + T2.text.toInt()!)"

      祝你好运

      【讨论】:

        【解决方案3】:

        那是因为 toInt() 返回一个可选值。您可以将 String 转换为 NSString 并提取整数值而不返回可选值。

        Label1.text = ((T1.text! as NSString).integerValue + (T2.text! as NSString).integerValue + (T3.text! as NSString).integerValue + (T4.text! as NSString).integerValue).description 
        

        【讨论】:

          【解决方案4】:

          Label1.text = "\(T1.text.toInt()! + T2.text.toInt()!)" //T1.text.toInt()

          是可选的,因此您应该使用 !标记否则它将返回 nil 价值

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-02-04
            • 1970-01-01
            • 1970-01-01
            • 2020-04-19
            相关资源
            最近更新 更多