2012-06-20 48 views
0

在我的連接DidReceiveData方法我有一個NSLog打印收到的百分比數據,它運行良好。我需要在UILabel上顯示這個百分比,但UILabel沒有得到更新。我能夠從其他方法如viewDidLoad或通過按下按鈕來更新UILabel。但從連接確實收到數據我沒有得到任何改變。這裏有什麼可能。我的標籤和我的計算沒有任何問題。此方法是否在後臺運行?從connectionDidReceiveData更新UILabel不起作用

+0

當您只更改didRecieveData中的UILabel的值時會發生什麼?將UILabel文本設置爲類似於@「接收數據」的內容,以便確定它是否實際上正在更新。 – Carter

+0

@Carter也不能從那裏工作。我試過了 – pnizzle

回答

1

假設你沒有做任何時髦,使在後臺隊列/線程的run(它應該是默認的主隊列/線程),有幾個可能性浮現在腦海:

  1. 在您的視圖實際設置之前,該方法正在調用。在設置用戶界面之前,您可以在某些情況下啓動網絡活動,這肯定會發生。

  2. 實際的UILabel沒有正確連接,但如果在-viewDidLoad中工作,這似乎不太可能。

要測試,打破方法和po myLabel,以確保它不是零。

+0

沒有我的代碼很簡單,沒有花哨的線程或任何東西,是的,我已經放置了一個斷點,UILabel不是零。我一直在谷歌搜索和一些人面臨這個問題,不能儘管找到解決辦法.. – pnizzle

+0

呵呵。出於好奇,如果你明確地發送標籤「-setNeedsDisplay」(儘管你不需要),會發生什麼? –

+0

嘗試了很久,並沒有工作。不過謝謝。在更新UILabel之後,我寫了一個NSLog(@「value there:%@」,myUILabel.text),它實際上打印了應該在標籤上的值。然而,UILabel本身仍然是「0」(不更新)。 – pnizzle