IBAction - 在连接到服务器之前做一些事情

Posted

技术标签:

【中文标题】IBAction - 在连接到服务器之前做一些事情【英文标题】:IBAction - do something before connect to server 【发布时间】:2011-12-11 21:16:17 【问题描述】:

我有一个由 UIButton 触发的 IBAction。

在这个 IBAction 中,我将我的应用程序连接到服务器,返回一个 Plist。

在此期间(在我的应用程序连接到服务器,服务器返回该 Plist 之间)我想显示一个 UIActivityIndi​​cator。

问题是,当我的 IBAction 被触发时,应用程序首先连接到服务器,然后显示 UIActivityIndi​​cator。

伪代码中的我的 IBAction

- (IBAction) loginMe: (id) sender


// show activity indicator
// connect to server, and catch data


【问题讨论】:

【参考方案1】:

您的“连接到服务器”操作可能是同步的。操作“显示活动监视器”的标签不正确。您真正要做的是“标记活动监视器以在下次绘制时显示。”

您需要做的是确保 loginMe: 返回,以便 UI 可以更新。服务器连接逻辑需要异步继续。通常这是使用NSURLConnection 完成的。你可以在URL Loading System Programming Guide找到解释。

【讨论】:

【参考方案2】:

还可以在这里查看 MBProgressHUD:

https://github.com/jdg/MBProgressHUD

它封装了指标,并允许根据您同步或异步连接的方式进行额外的自定义。

【讨论】:

以上是关于IBAction - 在连接到服务器之前做一些事情的主要内容,如果未能解决你的问题,请参考以下文章