2010-01-25 72 views
3

每當我解析XML提要時,我的應用程序都會凍結。解析XML時iPhone應用程序會凍結

我試圖調用此相反:

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

的呼叫:

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

,但我的應用程序已經成爲其結果是相當不穩定......在iPhone模擬器剛剛崩潰,沒有錯誤警告。

回答

2

而不是調用:

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

你應該叫:

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

你的UI被凍結,因爲你是在UI線程執行冗長的操作。

+0

我得到這個錯誤: [切換到線程12547] 編程接收信號:「EXC_BAD_ACCESS」。 [切換到線程12547] – 2010-01-26 01:43:23

+0

似乎如果我將其更改爲withObject:路徑而不是零,它的工作原理... – 2010-01-26 01:59:44

+0

現在我得到這個: 調試器停止。 退出狀態值爲0的程序。 – 2010-01-26 02:02:32