Петля, не бегущая полностью на iPad (Прекрасный на симуляторе)

Я работаю над основанным на дуге проектом. Я получаю текст из файла крупного текста и потребности удалить пробелы или символы новой строки от него. Следующий код хорошо работает на симуляторе, но терпит крах на iPad и не бежит полностью (это может быть проблемами памяти). Например, если петлей нужно управлять 2000 раз, она терпит крах после бегущих времен 1800 года на iPad.

- (BOOL)formatTheText {
NSString *content = [NSString stringWithContentsOfURL:_textFileURL
                     encoding:NSUTF8StringEncoding 
                            error:NULL];

NSRange paraRange = {0,1};
NSString *modifiedContent = @"";
BOOL previousLineWasEmpty = NO;
int lineNumber = 0;

while (paraRange.location < [content length]) {

    NSRange currentParaRange = [content paragraphRangeForRange:paraRange];
    NSString *paragraph = [content substringWithRange:currentParaRange];
    NSCharacterSet *newLineSet = [NSCharacterSet newlineCharacterSet];

    NSArray *array = [paragraph componentsSeparatedByCharactersInSet:newLineSet];
    NSString *currentParagraph = @"";

    for (NSString *line in array) {
        currentParagraph = [currentParagraph stringByAppendingString:line];
    }

   //Add a space when combining two lines
    modifiedContent = [modifiedContent stringByAppendingFormat:@"%@ ",currentParagraph];
    paraRange.location += currentParaRange.length;

    if ([currentParagraph length] == 0) {

       //If previous line was empty just add a new line character
        if (previousLineWasEmpty) {
            modifiedContent = [modifiedContent stringByAppendingString:@"\n"];

        } else {
           //Add two lines for the start of a new paragraph
            modifiedContent = [modifiedContent stringByAppendingString:@"\n\n"];
        }
        previousLineWasEmpty = YES;

    } else {
        previousLineWasEmpty = NO;
    }
    lineNumber++;
}
self.cleanedString = modifiedContent;
return YES;
}
0
nl ja de
Вы используете тот же самый текстовый файл и для симулятора и для физического устройства?
добавлено автор Resh32, источник
Вы используете тот же самый текстовый файл и для симулятора и для физического устройства?
добавлено автор Resh32, источник
Вы посмотрели на крешлоги на своем устройстве?
добавлено автор dandan78, источник
Как это терпит крах?
добавлено автор David Rönnqvist, источник
Ваш AppDelegate входил в applicationDidReceiveMemoryWarning (сделайте NSLog в нем или BreakPoint)? Это могло быть действительно проблемой...
добавлено автор Larme, источник
Ваш AppDelegate входил в applicationDidReceiveMemoryWarning (сделайте NSLog в нем или BreakPoint)? Это могло быть действительно проблемой...
добавлено автор Larme, источник
Пихните точку останова в в начале петли и просто ступите через.
добавлено автор Nathan White, источник
Закрывает приложение и возвращается к главному меню.
добавлено автор Shahrukh Malik, источник
Рассматриваю в XCode... Ничто не появляется, потому что петля не закончилась полностью
добавлено автор Shahrukh Malik, источник
Да используя тот же самый файл и я нашел решение:) Я поместил весь код в цикле с условием продолжения в autoreleasepool, и петля бежит полностью на iPad без любых катастроф. Не знайте последствия хотя: p
добавлено автор Shahrukh Malik, источник
Да используя тот же самый файл и я нашел решение:) Я поместил весь код в цикле с условием продолжения в autoreleasepool, и петля бежит полностью на iPad без любых катастроф. Не знайте последствия хотя: p
добавлено автор Shahrukh Malik, источник
Да память, предупреждающая, показала, управляя приложением на iPad. Какова могла быть проблема?
добавлено автор Shahrukh Malik, источник
Да память, предупреждающая, показала, управляя приложением на iPad. Какова могла быть проблема?
добавлено автор Shahrukh Malik, источник