2017-02-10 42 views
-3

我正在制作一个模拟遥控Iphone应用程序使用swift和Xcode不让我使用.toInt()UILabel的文本。我试图将文本从一个标签转换为一个整数,我不知道如何做到这一点。有人可以帮我吗?谢谢。为什么我不能在swift中使用.toInt()在String上?

这里是我的代码:

@IBAction func channelInc(_ sender: UIButton) { 
    var chnl = channel.text!.toInt() 

    if (chnl!+1 > 99) { 

    } else { 
     let newChnl = chnl!+1 
     channel.text = "\(String(newChnl))" 
    } 
} 

回答

0

没有在()称为toInt String类的方法。在swift中这样做的方法是使用Int类的初始化程序。

let number = Int("5") 
// returns a Int? (optional) 
+0

修复了编译器错误,但现在它给我一个运行时错误,因为它取得了内存中字符串的地址(不是字符串内的整数),将它转换为整数,然后尝试添加到它。你知道如何将字符串中的数字转换为整数吗? – xxx3223

+0

这根本不应该发生。你能显示那个输出吗?并更新代码。这个int初始化实际上是为swift 2中的这个特定目的而创建的。你应该做'let chnl = Int(channel.text!)'。 'channel'是一个textField还是类似的东西? –

+0

通道是一个UILabel。这个函数是一个绑定到按钮的动作,它应该增加通道。当我按下按钮,以下错误显示出来: – xxx3223

0

尝试

让CHNL:诠释? = Int(channel.text!)

相关问题