2

私はプログラミングが初めてで、オンラインでいくつかのチュートリアルを行った後、iPhoneでアプリを実行できるようにXcode 7で独自のアプリを作成することにしました。しかし、テキスト フィールドから入力データを取得して var に入れようとすると、エラーが発生します。私は以下を使用しようとしました:

var initialChips = 0
var initialBlind = 0

@IBOutlet weak var txtBlind: UITextField!
@IBOutlet weak var txtChips: UITextField!
@IBOutlet weak var doneBtn: UIBarButtonItem!

@IBAction func doneBtn(sender: AnyObject) {

    let initialChips:Int? = Int(txtChips.text)
    let initialBlind:Int? = Int(txtBlind.text)
}

Xcode は「!」を入力するように求めます。「.text」の後ですが、それを行った後、「不変値「initialChips」の初期化(または「initialBlind」が使用されていません。「_」への割り当てに置き換えるか、削除することを検討してください」)という警告が表示されます。

変数に値を設定するにはどうすればよいですか?

4

2 に答える 2

2

問題は、 (クラスの変数とは異なる)let initialChips:Int? = Int(txtChips.text)と呼ばれる新しい変数を生成することです。とinitialChipsの違いは不変であり、 var はそうではありません。やったほうがいい:letvarlet

initialChips = Int(txtChips.text)

UITextField新しい不変変数 (同じ名前) を宣言するのではなく、クラス変数に整数を代入し、それに対して何もしない。

もちろん、同じことが起こりますinitialBlind

編集:

次のことを試してください。

@IBAction func doneBtn(sender: AnyObject) {

    if let initialChips = Int(txtChips.text!) {
        self.initialChips = initialChips
    }else {
        self.initialChips = 0
    }

    if let initialBind = Int(txtBind.text!) {
        self.initialBind = initialBind
    }else {
        self.initialBind = 0
    }
}
于 2015-07-19T23:14:16.750 に答える
0

次のように、 の!後ではなく、閉じ括弧の後に を追加する必要があります。.text

let initialChips:Int? = Int(txtChips.text)!
于 2015-07-19T23:12:14.160 に答える