1

我想发送我的信息,我知道它是通过

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 方法。有什么建议么?

4

2 回答 2

0

sendMessage 只是一个在框架本身之外编写的函数,我猜它是在 JSQMessagesViewController 的子类中找到的。您仍然希望触发您将在 didPressSendButton 中运行的任何逻辑。

于 2015-09-06T05:16:35.800 回答
0

如果您使用数组作为 JSQMessagesViewController 的数据源,只需将消息(JSQMessage 类型)添加到数组并调用self.finishSendingMessageAnimated(true)以触发刷新和动画。

如果您使用核心数据,则需要将消息存储在数据库中并依赖 NSFetchedResultsController 来触发更新controllerDidChangeContent或其他回调方法。

由于您使用的是 XMPPFramework,因此您可能还想编写消息 xml 元素并使用 XMPPStream 发送它。

希望有帮助!

于 2015-10-12T09:28:20.473 回答