在 JSQMessagesViewController 中实现消息传递状态

Implement message delivery status in JSQMessagesViewController

我正在尝试使用 JSQMessagesViewController

实现“已发送”状态

我有一个消息队列和一个聊天视图控制器。当消息队列成功发送特定消息时,我希望能够重新加载 ChatViewController 中的特定单元格。

如何在消息队列和 ChatVC 之间进行这种通信?

这是我能够做到的 -

这是我的消息队列 -

var unsentMessages = [String]() {
    didSet {
        // Check if a new value is being added or removed
        // If a new value is added then the oldValue will anve less elements than the original unsentMessages list
        if oldValue.count < unsentMessages.count {


            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), {

                newValue in

                let messageID = unsentMessages.last


                let realm = try! Realm()


                for i in 1...10 {

                    if channel.subscribed {

                        let message = realm.objectForPrimaryKey(Message.self, key: messageID)
                        channel.trigger("client-message", data: (message?.pusherMessage())!)
                        unsentMessages.popLast()

                        break

                    } else {

                        let time = 2 << UInt(i)
                        sleep(UInt32(time))
                    }
                }

            })

现在我需要做的是从 ChatViewController 中的某处调用以下代码 - self.collectionView.reloadItemsAtIndexPaths()。这会自动重新加载消息单元格并更新状态。

如何在 ChatViewController 中调用代码并从消息队列传递数据(messageID)。

为什么不在消息发送成功后直接在您的 chatVC 上调用 reload()