В настоящее время я работаю над приложением iOS в Xcode, и я придумал код для подсчета числа значимых цифр. Он написан на C++, но я сделал некоторые изменения, чтобы заставить его работать. Всякий раз, когда я вводим нулевое значение, он сбой, а все остальное работает отлично.Сбой отладчика iOS при вводе 0.0 В текстовом поле
Мой код выглядит следующим образом:
- (IBAction)sigFigCount:(UITextField *)thetextfield
{
length = 0;
if (thetextfield == _textfield1)
{
if ([thetextfield.text length] > 0)//If TextField Has More Than 0 digits...
{
text1 = std::string([_textfield1.text UTF8String]);
while (text1.at(0) == '0' || text1.at(0) == '.')//Trim Leading Zeros...
{
text1 = text1.substr(1);
}
length = text1.length();
decimal = text1.find('.');
if (decimal >= 0 && decimal < text1.length())//Dont count decimal as sig fig...
{
length -= 1;
}
if ([[_textfield1 text] doubleValue] == 0.0)
{
NSLog(@"HERE");
self.display3.text = @"1";
}
NSString *siggy = [NSString stringWithFormat:@"%i", length];
self.display3.text = siggy;
}
if ([thetextfield.text length] == 0)
{
length = 0;
NSString *ifzero = [NSString stringWithFormat:@"%i", length];
self.display3.text = ifzero;
}
if ([[thetextfield text] doubleValue] == 0.0)
{
newLength = 1;
NSString *zeroVal = [NSString stringWithFormat:@"%i", newLength];
self.display3.text = zeroVal;
}
NSString *norm = [NSString stringWithFormat:@"%i", length];
self.display3.text = norm;
}
}
Пожалуйста, помогите, я считаю, что это что-то делать с тем, как числа представлены в памяти ... но NSLog работал, когда я положил его в то время как заявление ... Приветствуется любой ввод.
Спасибо
Сбои с чем? Где находится журнал сбоев? – 0x8badf00d
Там действительно не было журнала сбоев, его выход был «завершен, вызванный выбросом исключения», и iOS Simulator завершает работу. – JoeyLaBarck