2011-06-01 72 views
1

在iOS應用程序中解析Objective-C中的XML時,何時可以使用主線程,何時應該在後臺線程上解析?主線程能否在小文件上處理SAX解析,還是應該全部 XML解析在後臺發生?在主線或後臺線程上解析iOS XML

+1

解析在後臺很好地工作。只要確保當你想要更新UI時,你總是在主線程上執行它。 GCD通過內嵌塊實現了這一點。 – 2011-06-01 23:17:20

回答

4

我通常會在後臺線程上處理所有數據處理。這確保了UI線程在任何時候都不被我阻止。

4

任何不會調用UIKit(UIView &它是子類)的東西,甚至暗示它可能會呈現在屏幕上,這對於關閉主線程是完全安全的。

我有幾個應用程序在後臺線程上處理XML。我建議使用一個NSOperation,它將整個XML文檔傳遞給它,允許它完全處理它,或者提供一系列委託方法來通知主線程它的進展。如果你打算使用核心數據,我可以建議my own NSOperation abstract class做後臺導入。

事實上,你可以在後臺線程上做一些渲染,但你必須非常仔細地選擇你的API。