Я работаю над приложением со штрих-кодом и получаю местоположение из CLController, чтобы оно давало местоположение, скорость и многое другое, поэтому я подставляю строку WithRange и получаю исключение, поэтому, пожалуйста, дайте мне причину и что мне для этого сделать?
Заранее спасибо.
- (void)locationUpdate:(CLLocation *)location {
locstr = [location description ];
//NSLog(@"current location is %@ ",locstr);
NSString* regexString =@"<(.*?)>";
NSRegularExpressionOptions options = NSRegularExpressionCaseInsensitive;
NSError* error = NULL;
NSRegularExpression* regex = [NSRegularExpression regularExpressionWithPattern:regexString options:options error:&error];
if (error) {
//NSLog(@"error is %@", [error description]);
}
NSArray* results = [regex matchesInString:locstr options:0 range:NSMakeRange(1, [locstr length])];
for (NSTextCheckingResult* result in results) {
resultString = [locstr substringWithRange:result.range];
//NSLog(@"%@",resultString);
//life = [[resultString substringWithRange:NSMakeRange(1)] retain];
resultString =[resultString substringWithRange:NSMakeRange(1,27)];
resultString = [resultString stringByReplacingOccurrencesOfString:@" "
withString:@""];
life = [resultString stringByReplacingOccurrencesOfString:@"+"
withString:@""];
life = [[life substringWithRange:NSMakeRange(0,[life length]-1)] retain];
//NSLog(@"in update %@",life);
}
}
получение этого исключения
2011-11-23 14: 24: 58.161 BarCodeApp [2632: 707] * Завершение работы приложения
чтобы исключить исключение 'NSRangeException', причина: '
- [NSRegularExpression enumerateMatchesInString: параметры: диапазон: usingBlock:]: диапазон или индекс
Первый вызов стека вызовов вне границ: (0x326398bf 0x364a31e5
0x326397b9 0x326397db 0x3783846b 0x37838a11 0x37af 0xbe73 0x3548f5df
0x3548ef81 0x3548962f 0x3260db31 0x3260d15f 0x3260c381 0x3258f4dd
0x3258f3a5 0x37cd0fed 0x30eda743 0x2337 0x22b8) завершить вызов
выдает исключениеПрограмма полученного сигнала: «SIGABRT». Данные
Форматировщики временно недоступны, будут повторяться после «продолжить».
(Не удается найти функцию dlopen, поэтому невозможно загрузить общий
библиотеки.)