2017-02-10 9 views
-3

私はリモコンのIphoneアプリを素早く使っていますが、XcodeはUILabelのテキストに.toInt()を使用させていません。テキストをラベルから整数に変換しようとしていますが、どうすればよいか分かりません。誰か助けてくれますか?ありがとう。swtoのStringで.toInt()を使用できないのはなぜですか?

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

    if (chnl!+1 > 99) { 

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

答えて

0

オーバーライド:と呼ばれるStringクラス()メソッドではありません:

は、ここに私のコードです。速やかに行う方法は、Intクラスの初期化子を使用することです。 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

のlet CHNLをお試しください! = Int(channel.text!)

関連する問題