祝大家新年快乐。
我正在研究聊天应用程序我的问题是,当我向另一个用户发送消息时,如果我输入另一个消息而前一个消息,则我的键盘会挂起一段时间。当第一条消息发送时,键盘进入正常状态从被绞死的状态和我输入的角色出现。
任何人都可以建议我做些什么来阻止键盘挂起。任何建议都会受到关注。
由于
答案 0 :(得分:4)
您需要使用非阻塞的异步函数/方法来发送消息,或者需要在调度队列或操作队列上发送消息。
Apple的Concurrency Programming Guide中讨论了这两种队列类型。
您还可以观看一些关于并发的Apple开发者视频:
答案 1 :(得分:1)
使用NSThread,因为您希望完成计算工作单元,而无需等待其他单元完成,或者阻止其他计算工作。
如果明智的话,你几乎可以把任何作品都放到一个帖子里。
一个很好的例子是网络请求,您可以在其中设置一个线程来从Web服务器下载数据。您的线程在完成其工作后将触发“处理程序”功能。处理程序使用下载的数据;例如,从Web服务解析XML数据。
在此示例中您将使用一个线程,因为当您的应用程序通过网络下载数据并对其进行处理时,您不希望整个应用程序锁定。 NSThread实例将此工作单元放入其自己的小“空间”中,允许较大的应用程序继续与用户交互。
您不希望在iOS平台上使用线程的示例是UI更新(例如,更改任何UIControl小部件的状态)。所有UI更新都发生在主线程上。如果您将自己的线程与UI小部件一起使用,则行为是不可预测的,并且通常不起作用。
编辑:
要发送消息,您应该使用NSThread