我想发送消息,我知道它通过
发送override func didPressSendButton(button: UIButton!, withMessageText text: String!, senderId: String!, senderDisplayName: String!, date: NSDate!) {
let message = JSQMessage(senderId: "alizade@my.co", senderDisplayName: "The Flash", date: NSDate(), text: text)
// SENDING CODE HERE
}
此功能,但我不知道如何按发送按钮发送它。
我搜索并找到了这个例子:
OneMessage.sendMessage(text, to: recipient.jidStr, completionHandler: { (stream, message) -> Void in
JSQSystemSoundPlayer.jsq_playMessageSentSound()
self.finishSendingMessageAnimated(true)
})
但我的情况下没有.sendMessage方法。有什么建议吗?
答案 0 :(得分:0)
sendMessage只是一个在框架本身之外编写的函数,我猜测它是在JSQMessagesViewController的子类中找到的。你仍然想要触发你在didPressSendButton中运行的任何逻辑。
答案 1 :(得分:0)
如果您正在使用数组作为JSQMessagesViewController的数据源,只需将消息(类型为JSQMessage)添加到数组中,然后调用self.finishSendingMessageAnimated(true)
来触发刷新和动画。
如果您正在使用核心数据,则需要将消息存储在数据库中,并依赖于NSFetchedResultsController来触发controllerDidChangeContent
或其他回调方法中的更新。
由于您正在使用XMPPFramework,您可能还需要编写消息xml元素并使用XMPPStream发送它。
希望有所帮助!