0

首先祝大家新年快乐。

我正在开发聊天应用程序我输入的字符出现了。

任何人都可以建议我如何防止键盘挂起。任何建议都会被应用。

谢谢

4

2 回答 2

4

您需要使用非阻塞的异步函数/方法来发送消息,或者您需要在调度队列或操作队列上发送消息。

Apple 的并发编程指南中讨论了这两种队列类型。

您还可以观看一些有关并发的 Apple 开发者视频:

于 2013-01-03T07:49:35.057 回答
1

使用NSThread,因为您希望完成一个计算工作单元,而不必等待其他单元完成或阻止其他计算工作。

如果这样做是明智的,您几乎可以将任何工作放入线程中。

一个很好的例子是网络请求,您可以在其中设置一个线程来从 Web 服务器下载数据。当你的线程完成它的工作时,它会触发一个“处理程序”函数。处理程序处理下载​​的数据;例如,解析来自 Web 服务的 XML 数据。

在此示例中您将使用线程,因为您不希望整个应用程序在您的应用程序通过网络下载数据并对其进行处理时锁定。NSThread 实例将这个工作单元放入它自己的小“空间”中,允许较大的应用程序继续与用户交互。

您不想在 iOS 平台上使用线程的一个示例是 UI 更新(例如,更改任何 UIControl 小部件的状态)。所有 UI 更新都发生在主线程上。如果您将自己的线程与 UI 小部件一起使用,则行为是不可预测的,而且通常根本无法工作。

编辑:对于发送消息,您应该使用NSThread

于 2013-01-03T07:33:36.257 回答