更新UIAlertView标题

时间:2009-04-29 17:24:42

标签: iphone synchronous

我正在将一堆文件从iPhone上传到网络服务。我希望屏幕上有一个UIAlertView,里面有一个UIActivityIndi​​catorView。我得到了这个工作正常。但是,我想在每个文件上传时更新UIAlertView的标题。 (“上传文件1 ...”,“上传文件2 ......”等)

我知道您不能只在具有同步Web请求的循环中设置标题,因为UI运行循环永远不会被调用。我尝试使用NSTimer来触发Web请求,但由于每个请求持续时间都是不可预测的,所以这不起作用。 (消息可以在请求实际完成之前更新。)

我真的想同步上传每个文件,一次一个,因为iPhone带宽非常有限。我只是想不出一种机制来说'一旦这个同步操作完成,让UI更新为勾选,然后再做同步操作。'

2 个答案:

答案 0 :(得分:1)

好的,这是我解决这个问题的方法:

  1. 创建UIAlertView
  2. 启动异步Web请求以发布项目,将委托设置为self
  3. 在connectionDidFinishLoading:方法中,检查是否还有更多要发布的项目。如果有,请更新标题并启动另一个异步请求。如果没有,请关闭警报。
  4. 这意味着您必须维护一些类变量来跟踪哪个请求正在上传,但它完美无缺,并且不涉及任何复杂的线程或其他任何内容。

答案 1 :(得分:0)

你试过这个吗?

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