2

I'm new to programming and after doing some tutorials online I decided to make my own app with Xcode 7 to be able to run my app on my iPhone. But when I try to get input data from a text field and put it into a var it gives me an error. I have tried to use the following:

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 will ask to put a "!" after ".text" but after doing that it gives me a warning: "Initialization of immutable value 'initialChips' (or 'initialBlind' was never used: consider replacing with assignment to '_'or removing it".

What can I do to set a value to my var?

4

2 回答 2

2

问题是let initialChips:Int? = Int(txtChips.text)生成了一个名为initialChips(不同于类中的变量)的新变量。let和之间的区别在于varlet是不可变的,而 var 不是。你应该做:

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 回答