2010-09-08 51 views
0

我有這樣的:的UILabel奇怪的行爲

- (IBAction)checkupdate 
{ 
statusText.text = [[NSString alloc] initWithFormat:@"Checking......"]; 

每次我按下按鈕時,該字符串得到顯示,OK沒問題這一點。

現在,當我加

NSURLRequest *theRequest = 
[NSURLRequest requestWithURL: 
[NSURL URLWithString:@"http:/myserver/version.plist"] 
       cachePolicy:NSURLRequestUseProtocolCachePolicy 
      timeoutInterval:5.0];  
NSURLResponse *response; 
NSData *received = 
[NSURLConnection sendSynchronousRequest:theRequest 
         returningResponse:&response error:&error]; 

字符串沒有得到顯示第一次。 NSURLRequest代碼位於同一個動作中的字符串顯示代碼之下。

該字符串僅在nsurlrequest完成後才顯示。

是不是顯示字符串假設執行1st?我試圖把{,}掩蓋nsurlrequest,但它仍然執行1st。

有什麼想法?

回答

1

已設置標籤的值,但標籤的重繪只能在函數退出並且不保證在出口處正確發生時完成。由於您同步提出請求,因此可能需要很長時間才能重繪。

+0

hm ...我怎麼能讓它立即出現一次按鈕按? – Stefan 2010-09-08 14:40:14

+0

異步Sendind請求肯定會減少顯示新標籤文本所需的時間。 – 2010-09-08 14:44:12