- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在使用XMPP框架制作聊天应用程序。我们使用“XMPPMessageArchiving_Message_CoreDataObject”来显示和存储聊天数据。但是有时会多次收到一条消息,并且该重复的消息存储在“XMPPMessageArchiving_Message_CoreDataObject”中。所以在显示时显示一条消息多次。
设置流方法使用以下代码启用此模块:-
xmppMessageArchivingStorage =
XMPPMessageArchivingCoreDataStorage.sharedInstance()
xmppMessageArchivingModule =
XMPPMessageArchiving(messageArchivingStorage :
xmppMessageArchivingStorage!)
xmppMessageArchivingModule?.clientSideMessageArchivingOnly = true
xmppMessageArchivingModule?.activate(xmppStream!)
xmppMessageArchivingModule!.addDelegate(self, delegateQueue:
DispatchQueue.main)
从数据库获取数据:-
let storage = XMPPMessageArchivingCoreDataStorage.sharedInstance()
let moc: NSManagedObjectContext? =
storage?.mainThreadManagedObjectContext let entityDescription =
NSEntityDescription.entity(forEntityName:
"XMPPMessageArchiving_Message_CoreDataObject", in: moc ??
NSManagedObjectContext())
let request = NSFetchRequest<NSFetchRequestResult>.init(entityName:
"XMPPMessageArchiving_Message_CoreDataObject")
request.predicate = NSPredicate(format: "bareJidStr = %@ AND
streamBareJidStr = %@",
senderJID!,Constants.appDelegate.jabberID!)
request.entity = entityDescription
let messages = try! moc?.fetch(request) as! [AnyHashable]
在“messages”数组中获取所有重复的消息字符串并显示重复的消息。
如果有人有删除聊天重复消息的解决方案,请帮助我。
提前致谢,
最佳答案
嘿,解决问题有两个步骤,但在此之前,了解为什么会收到重复消息非常重要。如果 Xmpp 向您发送重复的消息。可能还有其他一些配置问题,无论如何,让我们来解决您当前的问题。将第二行代码添加到提取请求中以检索消息
let request = NSFetchRequest<NSFetchRequestResult>.init(entityName:
"XMPPMessageArchiving_Message_CoreDataObject")
request.returnsDistinctResults = true //Add this line
将消息插入数据库时,您需要确认该特定 id 是否存在消息,要在 XMPP 中为消息添加 id,您需要在向服务器发送消息时添加一些代码:
NSString *messageID = [XMPPStream generateUUID];
[self addAttributeWithName:@"id" stringValue:messageID];
关于ios - 将重复消息存储在 XMPPMessageArchiving_Message_CoreDataObject 中(单聊),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50060792/
我们正在使用XMPP框架制作聊天应用程序。我们使用“XMPPMessageArchiving_Message_CoreDataObject”来显示和存储聊天数据。但是有时会多次收到一条消息,并且该重复
我是一名优秀的程序员,十分优秀!