У меня есть фрагмент кода, который возвращает сверхдлинную строку, которая представляет «результаты поиска».Каждый результат представлен двойным символом разрыва HTML.Например:
Результат1
Результат 2
Результат3
У меня есть следующий цикл, который принимает каждый результат и помещаетэто в массив, убрав индикатор разрыва, "kBreakIndicator
" (
).Проблема в том, что выполнение этого lopp занимает слишком много времени.С несколькими результатами это нормально, но как только вы достигнете сотни результатов, это будет примерно на 20-30 секунд медленнее.Это недопустимое исполнение.Что я могу сделать, чтобы улучшить производительность?
Вот мой код:
content
- исходная строка NSString.
NSMutableArray *results = [[NSMutableArray alloc] init];
//Loop through the string of results and take each result and put it into an array
while(![content isEqualToString:@""]){
NSRange rangeOfResult = [content rangeOfString:kBreakIndicator];
NSString *temp = (rangeOfResult.location != NSNotFound) ? [content substringToIndex:rangeOfResult.location] : nil;
if (temp) {
[results addObject:temp];
content = [[[content stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%@%@", temp, kBreakIndicator] withString:@""] mutableCopy] autorelease];
}else{
[results addObject:[content description]];
content = [[@"" mutableCopy] autorelease];
}
}
//Do something with the results array.
[results release];