2011-08-23 50 views
6

我正在使用Web服務創建聊天應用程序。在這裏,我打電話給Web服務,在接收到消息後,我必須在表格視圖中顯示它們,而且我發送的任何內容也必須在表格視圖中顯示。爲此,我把UIText字段放在上面(上面)表格視圖和任何我鍵入&按發送按鈕消息顯示在表中,並在每30秒後我打電話獲取消息服務(爲此,我使用線程與計時器),並收到消息後服務器reloaddata調用表視圖中的所有數據顯示,當鍵盤不可見時,但當鍵盤出現upword並等待服務器響應,而重新加載數據時,我的應用程序崩潰並提供以下錯誤消息,這樣會很好。WebTryThreadLock

void _WebThreadLockFromAnyThread(bool), 0xc849490: Obtaining the web lock from a thread other than the main thread or the web thread. UIKit should not be called from a secondary thread. 
bool _WebTryThreadLock(bool), 0xc849490: Tried to obtain the web lock from a thread other than the main thread or the web thread. This may be a result of calling to UIKit from a secondary thread. Crashing now. 

回答

19

我的問題是解決我試圖通過輔助線程重新加載表視圖中的數據。

所以這裏就是我所做的

[self performSelectorOnMainThread:@selector(myMethod) withObject:nil waitUntilDone:NO]; And My problem is solved 
4

我有這個問題 之前,您需要辭職鍵盤文本字段..因爲它嘗試的,而鍵盤仍然是可見的加載視圖。

[thetextfield resignFirstResponder]; 
+0

我現在的問題是解決我試圖通過二級螺紋重新加載表視圖的數據,但現在我用\t \t [自performSelectorOnMainThread:@selector(myMethod的)withObject:無waitUntilDone:NO]; 而我的問題解決了 – Vijay