2015-07-14 3 views
0

Для моего приложения математического вопроса у меня есть два случайных числа, сгенерированных, тогда у меня есть 4 кнопки в качестве ответов. Я хочу проверить ответ, если пользователь нажал правую кнопку, но, похоже, не работает.Преобразование строки в int для проверки ответа

num1 и пит2 являются этикетки, которые случайные числа, генерируемые в столь технически

num1.text = "(randomnum1)"

и num2.text = "(randomnum2)" Благодарю.

У меня есть следующий код под button1 IBAction

var sum = (num1) + (num2) 
    if btn1.titleLabel = (sum){ 
      check.text = "right"    
    } 

ответ

0

у вас есть два варианта:

if btn1.titleLabel.toInt()! == sum 

или

if btn1.titleLabel == String(sum) 

рассмотреть разницу между = (назначить) и == (равно)

присвоить номер на этикетке использовать

num1.text = "\(randomnum1)" 

Я рекомендую использовать бэк-Int переменные, как randomnum1 провести случайные числа, которые могут использоваться для математики, например

var randomnum1 = 0, randomnum2 = 0 // instance variables of the class 

randomnum1 = randomFuntion() 
randomnum2 = randomFuntion() 

num1.text = String(randomnum1) 
num2.text = String(randomnum2) 

теперь метки содержат строковые значения случайных чисел, но вы можете выполнить математику с соответствующими переменными.

var sum = randomnum1 + randomnum2 

после этого вы можете проверить результат, как уже упоминалось выше

if btn1.titleLabel == String(sum) { 
    check.text = "right" 
} 
+0

Я понимаю это, но как добавить num1 и num2 для переменной суммы, поскольку num1 и num2 являются метки, но в них генерируются случайные числа? – user3814765

+0

Я отредактировал это сообщение, чтобы ответить на ваш комментарий – vadian

+0

Прошу прощения, я как бы новичок в этом, поэтому просто хотел знать, что вы имеете в виду, говоря об использовании поддержки переменных int. – user3814765

0

Может быть, вы должны сделать некоторые преобразования, прежде чем добавить num1 и num2. (преобразовать строки в целые числа перед их добавлением, также вы должны преобразовать строку в integer fisrt при сравнении sum и btn.titleLabel)

+0

Я понимаю это, но как добавить num1 и num2 для переменной суммы, поскольку num1 и num2 являются метками, но имеют в них случайные числа? – user3814765

Смежные вопросы