2012-10-04 55 views
0

我推我的視圖控制器成導航IOS performSelector:withObject:afterDelay:在viewDidLoad中凍結視圖推

在viewDidLoad方法,我將在端線這個方法:

[self performSelector:@selector(startLoadAndParseXML) withObject:nil afterDelay:0.]; 

像往常一樣在我其他視圖控制器在我的應用程序,視圖控制器被推動,然後startLoadAndParseXML方法運行,並且應用程序不凍結。但是,在只有一個視圖控制器的情況下,我不知道爲什麼有一段時間該應用程序會凍結,只有在方法startLoadAndParseXML完成後纔會推送視圖。

任何人都可以解釋我嗎?謝謝

+1

在底色而是執行差選擇, 對?我很驚訝這工作。 – 2012-10-04 10:55:59

+0

是的,它在當前線程上執行 –

回答

0

performSelectorWithObject:afterDelay:對當前運行的循環啓動選擇,而不是在研究背景線程,因此,如果您在主線程中調用它,網絡操作將凍結UI,

+0

嗨,其他類上的相同網絡操作不會凍結應用程序。我的應用在許多視圖控制器上具有相同的startLoadAndParseXML操作,並且凍結只發生在一個類中。我認爲這是我的錯,但我找不到。 –

+0

@camdaruojvfdgztdcccccc是的,它意外的工作。 – 2012-10-04 11:27:02