在我的ViewDidLoad
我致电UIAlertView
"Getting data. Please Wait...."
和NSTimer
scheduledTimerWithTimeInterval 5秒。
在此之后,我使用GetData
创建方法NSURLConnection
以从Web服务器获取数据。
在didFailWithError
的{{1}}我有另一个NSURLConnection
:
UIAlertView
问题是我的第一个"Cannot connect to server. Please check your network settings".
直接消失,方法AlertView
是第一个被调用的。
没有5秒等待第一次警报。
感谢您的回复。
答案 0 :(得分:0)
没有代码很难回答你的问题,但你可以检查是否发生以下情况:
您将显示添加了第一个警报(“请稍候”)的视图。然后你启动一个计时器。当计时器运行时,程序继续,并尝试从Web加载数据,但数据失败。这将在第一个警报的第一个上面显示第二个警报,让第一个警报“消失”
因此问题可能是在计时器启动之前调用didFailWithError
(我认为这会解除第一个警报,对吧?)。
我的建议是你再次检查你的应用程序的逻辑。我认为让用户知道他/她必须等待(第一个警报)是合理的,但是应该通过成功加载数据或者通过不成功的尝试来终止等待(即应该解除第一个警报) (didFailWithError
)。
但计时器是什么?如果在成功下载之前或成功下载时该怎么办(下载失败当然会使计时器失效)?