3

XML フィードを解析するたびに、アプリがフリーズします。

代わりにこれを呼び出してみました:

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

これは次を呼び出します:

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

しかし、その結果、私のアプリは非常に不安定になりました... iPhone シミュレーターは、エラー警告なしでクラッシュしました。

4

1 に答える 1

2

呼び出すのではなく:

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

あなたが呼び出す必要があります:

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

UI スレッドで長時間の操作を行っているため、UI がフリーズしています。

于 2010-01-26T00:39:40.607 に答える