我正在尝试与JSQ Message进行简单的聊天。
每当我使用发送按钮时,应用程序崩溃。
它在终端中运行良好,但在我希望它显示之后在视图中,我不断收到此消息:
由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'错误!在子类中未实现的必需方法。需要实现 - [JSQMessagesViewController didPressSendButton:withMessageText:senderId:senderDisplayName:date:]'
这是我的控制器:
答案 0 :(得分:3)
使用:Swift 3.0& JSQMessagesViewController 7.3.4
override func didPressSend(_ button: UIButton!, withMessageText text: String!, senderId: String!, senderDisplayName: String!, date: Date!) {
let message = JSQMessage(senderId: senderId, senderDisplayName: senderDisplayName, date: date, text: text)
//ex: self.messages.append(message!)
self.finishSendingMessage()
}
答案 1 :(得分:1)
感谢。有效。现在我只需弄明白,如何在BubbleImage中显示消息。任何想法????
删除“覆盖”字样时,Xcode错误消失。
但是,这会导致问题。
您必须覆盖每个方法。 请注意!,?和_。
使用:Swift 3.0& JSQMessagesViewController 7.3.4
// MARK: - JSQMessage
override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
code
}
override func collectionView(_ collectionView: JSQMessagesCollectionView!, avatarImageDataForItemAt indexPath: IndexPath!) -> JSQMessageAvatarImageDataSource! {
code
}
override func collectionView(_ collectionView: JSQMessagesCollectionView!, messageBubbleImageDataForItemAt indexPath: IndexPath!) -> JSQMessageBubbleImageDataSource! {
code
}
override func collectionView(_ collectionView: JSQMessagesCollectionView!, messageDataForItemAt indexPath: IndexPath!) -> JSQMessageData! {
code
}
override func didPressSend(_ button: UIButton!, withMessageText text: String!, senderId: String!, senderDisplayName: String!, date: Date!) {
code
}