В настоящее время я разрабатываю приложение для чата для iOS с использованием XMPPFramework и JSQMessagesViewController, я новичок во всем этом, так что несите меня.Добавить входящее сообщение в ChatViewController collectionview (XMPPFramework + JSQMessagesViewController)
Я получил сервер XMPP и могу видеть отправленное и входящее сообщение через консольный журнал, то, что я пытаюсь сделать, это добавить/отобразить входящее сообщение в пользовательский интерфейс collectionView (JSQMessagesViewController).
до сих пор, что я сделал, было назвать ViewController FUNC из приложения делегата вот код в приложение делегата для входящего сообщения
func xmppStream(_ sender: XMPPStream!, didReceive message: XMPPMessage!) {
print("Did received message \(message)")
if message.isChatMessageWithBody() {
chatView.receiveMessage(passMessage: message.stringValue)
}
}
метод ViewController
func receiveMessage(passMessage: String!) {
let receivedMessage = JSQMessage(senderId: senderId, displayName: senderDisplayName, text: passMessage)
self.messages.append(receivedMessage!)
self.finishReceivingMessage(animated: true)
JSQSystemSoundPlayer.jsq_playMessageReceivedSound()
}
с этим подходом , приложение падает на входящее сообщение, и я получаю неожиданную ошибку значения nil из senderId. Я, похоже, не работаю. сообщите пожалуйста спасибо.
Думаю, вам стоит попробовать пример JSQ от github. В вашем подклассе jsqmessagesviewcontroller есть некоторые методы делегатов. – dichen