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

时间:2010-05-14 06:47:12

标签: iphone objective-c uiview

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

许多操作发生在运行循环上,而不是按照您编码的顺序。如果你真的想按照你的方式编写代码,那么performSelector:withObject:afterDelay:延迟为0 可能工作来触发你的NSURlConnection(你需要将该代码移动到一个方法)。 / p>

正如JK建议的那样,异步请求无论如何都可以解决它,并改进UI。我是ASIHPPTRequest库的忠实粉丝,这使得异步微不足道。