Swift:即使已经声明,也可以预期var的声明

时间:2015-07-21 07:04:47

标签: ios swift

我是Swift的新手并尝试编写一个简单的计数器应用程序。我想根据变量的值在屏幕上发布消息。但我无法访问它,即使(我认为)它不是一个实例变量。 我做错了什么?

var rowValue: Int = 0    
@IBOutlet weak var motivationLabel: UILabel!
@IBOutlet weak var rowCount: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()
}


@IBAction func subtractRowButton(sender: AnyObject) {
    if rowValue > 0 {
        rowValue = rowValue - 1
    } else {
        rowValue = 0
    }

    rowCount.text = "\(rowValue)"

}

@IBAction func addRowButton(sender: AnyObject) {
    rowValue = rowValue + 1
    rowCount.text = "\(rowValue)"

    if rowValue < 10 {
        println("Not bad")
    } else if rowValue > 9 && rowValue < 20 {
        println("Awesome")
    }
}   

@IBAction func resetButton(sender: AnyObject) {
    rowValue = 0
    rowCount.text = "\(rowValue)"
}

1 个答案:

答案 0 :(得分:0)

错误不适用于任何var。因为你在class内直接编写了代码,而不是在任何function内。这导致了这个问题。

将您的conditional block替换为

 func doSomething(){
   if(rowValue < 10)
   {
    println("Not bad")
   }
   else if(rowValue > 9 && rowValue < 20)
   {
    println("Awesome")
   }
 }

并在任意位置调用此函数doSomething()