2012-06-20 2 views
1

Я пытаюсь использовать arc4random, но это приводит к сбою моего приложения. На мой взгляд, у меня есть текстовое поле, и пользователь будет вводить номер, когда нажал на кнопку, этот номер используется для диапазона, код, который я использую следующим образом:arc4random using input from textField

int myInt1 = [textfield.text intValue]; 
int fromNumber = 1; 

int rnumber = (arc4random() % (myInt1 - fromNumber)) + fromNumber; 
number1.text = [[NSString alloc] initWithFormat:@"%i",rnumber]; 

Это будет работать, если я использую 50, например, вместо myInt1, но мне нужен пользовательский ввод. Любая помощь приветствуется.

Я заметил, что он будет работать, когда в текстовом поле будет фигура, когда это осталось пустым, и кнопка будет выбрана, а приложение разбилось. На консоли отображается «Прекращение в ответ на завершение SpringBoard».

+1

Что значит «аварии»? Вы получаете трассировку стека в консоли? –

+0

Вы уверены, что текстовое поле не пустое? – sosborn

ответ

0

Если переменная 50 работает, то, очевидно, что-то не так с текстом текстового поля. Скорее всего, ваше текстовое поле равно нулю. Попробуйте вернуться к своему коду и посмотреть, влияет ли что-то на ваше приложение, чтобы стать нулевым.

Я расскажу вам об этом в случае, если что-то подобное произойдет в следующий раз. Вы должны всегда пытаться отлаживать свой код, например, вместо того, чтобы прямо отправлять это для переполнения стека с минимальным кодом, попробуйте сами решить проблему!

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

if (textfield) { 

NSLog (@"Text field is not nil! GOOD!"); 

} 

Если журнал вызванный в вашей консоли, вы знаете, что ваша проблема в том, что текстовое поле равно нулю.