2017-02-10 43 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!)

相關問題