我正在尝试使用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)。
答案 0 :(得分:0)
为什么一旦发送的邮件成功,就不要在chatVC上拨打passReqToCallback : true instead of passReqToCallBack: true
。