Приложение iPhone зависает при разборе XML - PullRequest
3 голосов
/ 26 января 2010

Мое приложение зависает всякий раз, когда я анализирую канал XML.

Я попытался вызвать это вместо:

[NSThread detachNewThreadSelector:@selector(parseXML) toTarget:self withObject:nil];

, что вызывает:

-(void) parseXML {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    [self parseXMLFileAtURL:path];
    [pool drain]; 
}

но мое приложениев результате он стал весьма нестабильным ... Симулятор iPhone просто потерпел крах без предупреждения об ошибке.

1 Ответ

2 голосов
/ 26 января 2010

Вместо звонка:

[NSThread detachNewThreadSelector:@selector(parseXML) toTarget:self withObject:nil];

Вам следует позвонить:

[self performSelectorInBackground:@selector(parseXML) withObject:nil]

Ваш пользовательский интерфейс зависает, потому что вы выполняете длительные операции в потоке пользовательского интерфейса.

...