JSQ mesage-Swift 3“;按发送按钮“;
我正在尝试使用JSQ消息进行简单的聊天。JSQ mesage-Swift 3“;按发送按钮“;,swift,jsqmessagesviewcontroller,Swift,Jsqmessagesviewcontroller,我正在尝试使用JSQ消息进行简单的聊天。每当我使用“发送”按钮时,应用程序就会崩溃。它在终端中运行良好,但在我希望它显示在视图中后,我不断收到以下消息: 由于未捕获异常“NSInternalInconsistencyException”而终止应用程序,原因:“错误!子类中未实现必需的方法。需要实现-[JSQMessagesViewController按Send按钮:withMessageText:senderId:senderDisplayName:date:] 这是我的控制器: 使用:Swi
每当我使用“发送”按钮时,应用程序就会崩溃。
它在终端中运行良好,但在我希望它显示在视图中后,我不断收到以下消息: 由于未捕获异常“NSInternalInconsistencyException”而终止应用程序,原因:“错误!子类中未实现必需的方法。需要实现-[JSQMessagesViewController按Send按钮:withMessageText:senderId:senderDisplayName:date:] 这是我的控制器:
使用: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()
}
// 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
}
使用:Swift 3.0和JSQMessageViewController 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()
}
// 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
}
谢谢。成功了。现在我只需要弄清楚,如何在BubbleImage中显示消息。有什么想法吗 删除“覆盖”字时,Xcode错误消失 但是,这会带来问题 必须重写每个方法。 请小心如?还有!
使用:Swift 3.0和JSQMessageViewController 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()
}
// 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
}
谢谢。成功了。现在我只需要弄清楚,如何在BubbleImage中显示消息。有什么想法吗 删除“覆盖”字时,Xcode错误消失 但是,这会带来问题 必须重写每个方法。 请小心如?还有!
使用:Swift 3.0和JSQMessageViewController 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()
}
// 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
}
摆脱
代码>键入函数参数后,它们不可为null。至少在最新的JSQMessagesViewController版本中是这样。我试过了,但对您没有帮助⌘-单击JSQMessagesViewController
并检查那里如何定义didPressSendButton
?我在更新到Swift 3之前工作过。这可能是原因吗?摆脱代码>键入函数参数后,它们不可为null。至少在最新的JSQMessagesViewController版本中是这样。我试过了,但对您没有帮助⌘-单击JSQMessagesViewController
并检查那里如何定义didPressSendButton
?我在更新到Swift 3之前工作过。这就是原因吗?谢谢。成功了。现在我只需要弄清楚,如何在BubbleImage中显示消息。有什么想法吗???对不起,我不知道,但请接受答案。谢谢。成功了。现在我只需要弄清楚,如何在BubbleImage中显示消息。有什么想法吗???对不起,我不知道,但请接受答案。