2009-04-29 48 views
0

我將一堆文件從iPhone上傳到Web服務。我想在屏幕上有一個UIAlertView,裏面有一個UIActivityIndi​​catorView。我得到了這個工作很好。但是,我想在每個文件上傳時更新UIAlertView的標題。 (「上傳文件1 ...」,「上傳文件2 ...」等)正在更新UIAlertView標題

我知道你不能僅僅在同步web請求的循環中設置標題,因爲UI運行循環會永遠不會打電話。我嘗試使用NSTimer來觸發Web請求,但由於每個請求的持續時間都是不可預知的,所以不起作用。 (該消息可能在請求實際完成之前更新。)

由於iPhone帶寬相當有限,我真的想每次同步上傳一個文件。我只是無法找出一種機制來說'一旦這個同步操作完成,讓UI更新爲tick,然後做另一個同步操作'。這裏

回答

1

OK是我把解決這個的辦法:

  1. 創建UIAlertView中
  2. 開始異步Web請求,發佈項目,委託設置爲自
  3. 在connectionDidFinishLoading:方法,檢查是否有更多項目要發佈。如果有,更新標題並啓動另一個異步請求。如果不是,請關閉警報。

這意味着您必須維護一些類變量來跟蹤哪個請求正在上傳,但它的工作原理完美,並且不涉及任何複雜的線程或其他任何內容。

0

你嘗試過嗎?

alertView.title = @"new title"; 
[alertView setNeedsDisplay];