2012-04-11 118 views
0

當前我following thread檢查我的互聯網是活躍還是不在我的應用程序,但因爲它是花費時間給出響應,所以這將凍結我的用戶界面。可達性掛起應用程序

那麼有沒有什麼辦法可以在不凍結UI的情況下實現它(比如NSOperation)。

+0

您需要發佈您的代碼或者沒有人能夠回答。可達性正常工作,它一定是你做錯了什麼。 – 2012-04-11 15:08:01

回答

0

如果互聯網確實停機,則需要時間。這是蘋果API的限制。我們必須忍受它或在30秒左右後放置一個計時器來取消操作。但是,如果真正的響應,特別是通過GPRS需要30秒以上,如果你把定時器的條件,你也會取消。

0

或者,您可以異步檢查互聯網狀態並在主線程中顯示ActivityIndi​​cator或類似內容。這意味着你創建了一個與你的主線程並行運行的新線程(在你的情況下,GUI是凍結的)。

+0

你有任何示例/示例教程,該怎麼做? – user1227928 2012-04-15 19:54:50

+0

看看http://www.fieryrobot.com/blog/2010/06/12/threading-is-dead-long-live-threading/它解釋瞭如何使用dispatch_async,它允許你運行一個塊代碼在另一個線程中。您可能需要稍微修改可達性(例如,在結果準備就緒時將通知發佈到NSNotificationCenter)。 – 2012-04-17 06:26:57