所以我试图学习swift和on按钮动作,我想将一个变量声明为一个整数,它从文本字段中收集值,计算它是否为nil并打印该值。为什么要求我让变量保持不变?
这是我尝试过的
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var enterAge: UITextField!
@IBOutlet weak var catAge: UILabel!
@IBAction func findAge(sender: AnyObject) {
var newage = Int(enterAge.text!)
if newage! == 0
{
var catyears = newage! * 7
catAge.text = "Your cat is \(catyears) in age"
}
else
{
catAge.text = "Please enter a whole number"
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
由于
答案 0 :(得分:7)
这是警告,不错误:即使您忽略它,您的程序仍然会编译运行(但是如果你不这样做,那么最好的做法是“T)。
它告诉你,因为你的'变量'被分配了它的初始值和唯一值,然后它只被读取(从未写入)。因此,它不需要是变量;常量会做(并且更好地反映程序的 intent )。
答案 1 :(得分:1)
var - 允许您更改分配后创建的对象或变量的值,
其中,
让保持不变,只能初始化一次。 你的代码片段告诉我们你正在使用你的变量来存储从textfield获得的值,之后再也没有改变,考虑你的需求和使用系统建议你将你的变量更改为常量。 将变量更改为常量不会影响您的代码。
如果你想检查,那就写一下
newage = newage + 0
这会产生相同的效果,但现在警告已经消失,我们正在分配/更改变量的值。
希望这能解释您收到警告的原因..