【问题标题】:Get an Int out of an UILabel Swift从 UILabel Swift 中获取 Int
【发布时间】:2015-03-27 16:41:34
【问题描述】:

我有一个问题,有大量按钮以数字作为标签,所以我认为我可以将标签作为整数而不是为每个按钮创建一个动作?!

@IBAction func NumberInput(sender: UIButton) {
    var input:Int = sender.titleLabel as Int
}

【问题讨论】:

    标签: ios swift uibutton xcode6 uilabel


    【解决方案1】:

    如果您想这样做,您可以使用string.toInt()string 转换为Int,例如:

    if let input = sender.titleLabel?.text?.toInt() {
        // do something with input
    } else {
        // The label couldn't be parsed into an int
    }
    

    但是,我建议使用 UIView.tag 或子类化 UIButton 并向其添加 Int 属性来完成此操作,以防您更改标签的显示。

    【讨论】:

    • var input = sender.titleLabel?.text?.toInt() xcode 告诉我这样做,但这给了我一个 Int?
    • 太棒了,这正是我要找的,非常感谢! (开心)
    【解决方案2】:

    你应该确保文本存在

    var input:Int = (sender.titleLabel.text! as NSString).integerValue
    

    【讨论】:

      【解决方案3】:

      您不能将 UILabel 转换为 Int。我想你想要这个:

      var input : Int? = sender.titleLabel.text?.toInt()
      

      【讨论】:

      • 现在它是一个 Int? 但现在我对此无能为力,或者?! (计算)
      • 我认为您想要做的是将界面构建器中的每个按钮连接到您拥有的 IBAction 方法。然后您可以创建 if 语句以根据按钮编号执行不同的操作。
      【解决方案4】:

      另一种快速转换标签的方法:

      let num = getIntFromLabel(labelView)

      【讨论】:

        【解决方案5】:

        将所有按钮连接到 1 个 IBAction。然后根据您将如何使用它来创建以下变量和 set/get 方法。

        注意:“某物”是一个 UILabel。我在下面写的变量应该可以帮助您轻松地进行转换,并且语法更简洁。 “newValue” 带有所有的 setter 方法。它基本上考虑了任何可能用于将“num”设置为新值的值。

         var num : Int {
             get { 
                 return Int(something!)!
             }
             set {
                 something.text = Int(newValue)
             }
        
         }
        

        【讨论】:

          【解决方案6】:

          对于 Swift 3,你可以做的是直接将它从字符串输入转换为整数,像这样

          Int(input.text!)
          

          然后,如果出于任何原因,如果您希望将其打印出来或再次作为字符串返回,您可以这样做

          String(Int(input.text!)!)
          

          感叹号表示是可选的。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-07-30
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多