2016-10-03 2 views
-1

У меня есть две кнопки в моем проекте, которые добавляют оценку + = 1 к двум отдельным ярлыкам. Мое намерение состоит в сравнении целых чисел в метках, если они равны или нет, и выдают результат (в этом случае Integer) на другой отдельной метке, которая показывает мне сценарий. Но при нажатии одной из двух кнопок ничего не происходит. Метка показывает, что целые числа равны, но это невозможно, потому что целые числа в ярлыках больше не равны.Сравнить Целые числа

override func viewDidLoad() { 
    super.viewDidLoad() 

    if scoreAdd == scoreAdd1 { 
     time.text = "\(regulargame)" 
    }else { 
     overtime = regulargame + 30 
     time.text = "\(overtime)" 
    } 

    // 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. 
} 

@IBAction func btn1(_ sender: AnyObject) { 
    scoreAdd += 1 
    score1.text = "\(scoreAdd)" 
} 

@IBAction func btn2(_ sender: AnyObject) { 
    scoreAdd1 += 1 
    score2.text = "\(scoreAdd1)" 
} 

}

+2

Как вы думаете, вы сравниваете эти целые числа? –

+0

в выражении if –

+0

Juli: Это в 'viewDidLoad'. Вы также перезагружаете представление при каждом нажатии? –

ответ

0

viewDidLoad будет называться только тогда, когда Вид ViewController загружен. Если вы хотите проверять целые числа при каждом нажатии кнопки, вы должны сделать это явно:

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.setTimeText() 
    // 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. 
} 

@IBAction func btn1(_ sender: AnyObject) { 
    scoreAdd += 1 
    score1.text = "\(scoreAdd)" 

    self.setTimeText() 
} 

@IBAction func btn2(_ sender: AnyObject) { 
    scoreAdd1 += 1 
    score2.text = "\(scoreAdd1)" 

    self.setTimeText() 
} 

/// Is called whenever a score changes 
func setTimeText() { 
    if scoreAdd == scoreAdd1 { 
     time.text = "\(regulargame)" 
    } else { 
     overtime = regulargame + 30 
     time.text = "\(overtime)" 
    } 
} 
Смежные вопросы