Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSQ mesage-Swift 3“;按发送按钮“;_Swift_Jsqmessagesviewcontroller - Fatal编程技术网

JSQ mesage-Swift 3“;按发送按钮“;

JSQ mesage-Swift 3“;按发送按钮“;,swift,jsqmessagesviewcontroller,Swift,Jsqmessagesviewcontroller,我正在尝试使用JSQ消息进行简单的聊天。每当我使用“发送”按钮时,应用程序就会崩溃。它在终端中运行良好,但在我希望它显示在视图中后,我不断收到以下消息: 由于未捕获异常“NSInternalInconsistencyException”而终止应用程序,原因:“错误!子类中未实现必需的方法。需要实现-[JSQMessagesViewController按Send按钮:withMessageText:senderId:senderDisplayName:date:] 这是我的控制器: 使用:Swi

我正在尝试使用JSQ消息进行简单的聊天。
每当我使用“发送”按钮时,应用程序就会崩溃。
它在终端中运行良好,但在我希望它显示在视图中后,我不断收到以下消息:

由于未捕获异常“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中显示消息。有什么想法吗???对不起,我不知道,但请接受答案。