Я пытаюсь получить число из записи в текстовом поле, преобразовать его в строку и взять его длину.(IE: выполнить LEN (someInteger) для числа).
Мне удалось заставить его работать, однако есть некоторые несоответствия, когда число равно 0 или нулю.
Например;
-(IBAction)update
{
// inputField is the number pad textbox
double myInput = [inputField.text doubleValue];
//
NSNumber *c = [NSNumber numberWithDouble:myInput];
NSString *myOutput = [c stringValue];
NSLog(@"Starting number (number) = %@", c);
NSLog(@"myOutput (string) = %@", myOutput);
NSLog(@"myOutput (length) = %d", ([myOutput length]) );
}
Преобразование числа в строку работает нормально.У меня проблема с длиной, особенно когда нет числовой (или нулевой) записи.
У меня есть запись в текстовом поле цифровой клавиатуры на XIB, у которой «текст» равен 0 (заполнитель простоговорит «Введите число здесь»)
Когда вы впервые начинаете вводить текстовое поле, «текст» исчезает, и вы начинаете с пустого текстового поля.
Проблема 1 - когда вы впервыевведите текстовое поле, в текстовом поле ничего нет, но мой NSLog говорит, что длина вывода равна 1 символу.
Это вызывает проблему, поскольку визуально в текстовом поле ничего нет, но [myOutput length] сообщает 1 символдлина.
Проблема 2 - когда вы начинаете вводить цифры, все идет хорошо - но когда вы начинаете удалять цифры до точки, где вы полностью очищаете текстовое поле, он сообщает длину 1 символ.
Как прочитать 1 символ, если в текстовом поле ничего нет?Я думаю, что это снова должен быть "текст" (из инспектора идентификации).
Сводка.
Есть поле ввода в текстовом поле цифровой клавиатуры.Всякий раз, когда вы обновляете запись, она вызывает метод обновления IBaction.
Когда вы впервые вводите числа в текстовое поле, в поле ввода ничего не отображается, но NSLog сообщает длинуимеет длину 1 символ.
Когда вы начинаете вводить числа, а затем начинаете удалять их по одному, пока полностью не удалите все числа, длина сообщения будет равна 1 символу.
В обоих случаях NSLog должен сообщать 0 длины, но это никогда не происходит.Я попытался сделать [myOutput length] - 1, но это дает мне странные результаты.
Любая помощь по этому вопросу будет отличной
Спасибо.