子视图不是立即添加(iphone)

问题描述:

当键盘上的文本框的返回按钮被点击时我想添加一个UIView,然后连接到一个网站NSURlConnection sendsynchronousrequest,我的代码依次为 但是当我运行在模拟器中(我不能在设备上运行)连接先运行,然后添加子视图(即与代码顺序相反) 为什么这样以及如何停止它,因为我希望视图添加,然后完成连接,然后删除视图。子视图不是立即添加(iphone)

+0

你为什么使用同步请求? – RunLoop 2010-05-14 06:55:47

正在添加子视图,但视图是由runloop绘制的。通过在主线程上发出同步请求,您将阻塞runloop,因此只有在请求完成后才会绘制视图。通过使用异步API或在后台线程中执行同步请求,异步执行请求。

许多操作发生在运行循环上,而不是按照您编写的顺序。如果您确实想要按照您的方式进行编码,请执行选择器:withObject:afterDelay:延迟为0 可能会触发您的NSURlConnection(您需要将该代码移至某个方法)。

正如JK所示,异步请求可能会解决它,并改进UI。我是ASIHPPTRequest库的忠实粉丝,这使得异步微不足道。