2013-12-10 36 views
0

我有一個UITextField,它檢查密碼,然後我的應用程序從遠程服務器加載數據。在發生這種情況時,我想要一個進度視圖來顯示下載的進度。我的問題是,UITextField似乎鎖定顯示,直到它返回,因此我無法更新主線程上的進度視圖。我也想要一個沒有GCD或任何其他類型的線程的答案,因爲我正在使用核心數據,這可能會過度複雜的應用程序。有沒有辦法讓UITextField不鎖定視圖,以便我可以在主線程上更新我的progressView?如何在UITextField後更新UIProgressView DidEndOnExit

+0

如果你正在下載內容,你必須多線程。如果你不是,我無法想象你的應用程序被Apple批准。 UI應始終保持響應。 – nhgrif

+0

@nhgrif你有任何使用CoreCD和NSXMLParsers的GCD的好教程嗎? – carloabelli

回答

0

如果您的應用程序正在從遠程服務器加載數據,那麼您將不得不使用多線程(GCD等)。否則,它會鎖定主線程直到下載完成,這會使您的應用程序無響應。

爲了簡單起見,請使用GCD獲取數據(原始NSData)並將其提供給主線程。照常進行主線程(核心數據等)的所有處理。

編輯:還有一件事,它不是文本框鎖定你的用戶界面,它是下載。所以我認爲除了多線程以外,你不能做任何事情來幫助你。

+0

它不是下載,因爲下載存在7個部分,每個部分之間我更新進度視圖。你知道有關使用xmlparsers多線程核心數據的好教程嗎? – carloabelli

+0

http://www.raywenderlich.com/4295如果你想學習GCD的基礎知識,那麼它是很好的......一些解析也在那裏完成,儘管我認爲它解析HTML而不是XML。 – Roshan