2015-03-09 5 views
0

Я делаю приложение, в котором есть футбольное поле, и когда вы нажимаете на зону оценки, 7 очков добавляются к UILabel, что означает оценку. Но мне удалось отобразить только один раз, и если я снова нажму, снова появится семь; Я хочу, чтобы добавить еще 7, чтобы сделать 14.Добавление указателей в UILabel в Swift

@IBAction func touchdownMD(sender: AnyObject) { 
    var pointsMD = Int() 
    scoreMD.text = "\(pointsMD + 7)" 
} 

@IBOutlet var scoreSH: UILabel! 

+1

pointsMD инициализируется всякий раз, когда вызывается функция, так что вы всегда начинаются с 0, попробуйте объявить переменную уровня класса. – rshankar

ответ

0

При инициализации pointsMD внутри функции touchdownMD:, она начинается с 0, когда функция вызывается.

Чтобы исправить это, вам необходимо объявить его на уровне класса. Например:

var pointsMD = Int() //initialize pointsMD at the class level 

@IBAction func touchdownMD(sender: AnyObject){ 
    pointsMD+=7 //add 7 to pointsMD 
    scoreMD.text = "\(pointsMD)" 
} 

Таким образом, pointsMD не сбрасывается, когда touchdownMD: называется, он будет вместо этого просто увеличивать по мере необходимости.

Итак, вот что ваш код может выглядеть следующим образом:

var pointsMD = Int() 

@IBAction func touchdownMD(sender: AnyObject) { 
    pointsMD+=7 
    scoreMD.text = "\(pointsMD)" 
} 

@IBOutlet var scoreSH: UILabel! 
Смежные вопросы