为什么可以';我不能在swift中的字符串上使用.toInt()?

为什么可以';我不能在swift中的字符串上使用.toInt()?,swift,Swift,我正在使用swift制作一个模拟远程控制Iphone应用程序,Xcode不允许我在UILabel的文本上使用.toInt()。我正在尝试将标签中的文本转换为整数,但我不知道如何实现。有人能帮我吗?谢谢 这是我的密码: @IBAction func channelInc(_ sender: UIButton) { var chnl = channel.text!.toInt() if (chnl!+1 > 99) { } else { let ne

我正在使用swift制作一个模拟远程控制Iphone应用程序,Xcode不允许我在UILabel的文本上使用.toInt()。我正在尝试将标签中的文本转换为整数,但我不知道如何实现。有人能帮我吗?谢谢

这是我的密码:

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

    if (chnl!+1 > 99) {

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

在名为toInt()的字符串类上没有方法。在swift中执行此操作的方法是使用Int类的初始值设定项

let number = Int("5")
// returns a Int? (optional)
试一试


让chnl:Int?=Int(channel.text!)

修复了编译器错误,但现在它给了我一个运行时错误,因为它获取了内存中字符串的地址(而不是字符串中的整数),将其转换为整数,然后尝试添加到其中。您知道如何将字符串中的数字转换为整数吗?这根本不应该发生。你能展示一下它的输出吗??和更新的代码。此int初始值设定项实际上是在swift 2中为此特定目的创建的。您应该执行
让chnl=Int(channel.text!)
频道是文本字段还是类似的?频道是UILabel。此函数是一个绑定到按钮的操作,该按钮应用于增加频道。当我按下按钮时,会显示以下错误:**First throw调用堆栈:(0 CoreFoundation 0x000000010cbfad4b exceptionPreprocess+171 1 libobjc.A.dylib 0x000000010b77b21e objc_exception_throw+48 2 CoreFoundation 0x000000010cc6af04-[NSObject(NSObject)未识别选择器:+132 3 CoreFoundation 0x000000010cb80005\u转发+10134 CoreFoundation 0x000000010cb7fb88\u CF\u转发准备\u 0+120 5 UIKit 0x000000010d1a28bc-[UIApplication sendAction:to:from:forEvent:]+83 6 UIKit 0x000000010d328c38-[UIControl发送操作:到:forEvent:+67 7 UIKit 0x000000010d328f51-[UIControl\u发送操作预防:带事件:+444