Ios 根据时间戳显示消息(已发送和已接收)
我已经为此挣扎了几天,我真的需要你的帮助。 当前,发送的消息首先显示在视图控制器的左侧,根据它们的时间戳显示所有消息,然后接收的消息显示在视图控制器的右侧。但是,我希望发送和接收的消息都能根据时间戳一起排序,这样它就类似于真实世界了。例如,约翰在上午9:30给彼得发了一条信息“嗨”,彼得在上午10点回复“我很好”,约翰在10:15给彼得发了一条信息说“很高兴听到”。发送的消息首先显示在左侧,然后接收的消息全部显示在右侧,但是我希望它反映真实世界(接收和发送的时间戳)Ios 根据时间戳显示消息(已发送和已接收),ios,swift,firebase,google-cloud-firestore,Ios,Swift,Firebase,Google Cloud Firestore,我已经为此挣扎了几天,我真的需要你的帮助。 当前,发送的消息首先显示在视图控制器的左侧,根据它们的时间戳显示所有消息,然后接收的消息显示在视图控制器的右侧。但是,我希望发送和接收的消息都能根据时间戳一起排序,这样它就类似于真实世界了。例如,约翰在上午9:30给彼得发了一条信息“嗨”,彼得在上午10点回复“我很好”,约翰在10:15给彼得发了一条信息说“很高兴听到”。发送的消息首先显示在左侧,然后接收的消息全部显示在右侧,但是我希望它反映真实世界(接收和发送的时间戳) 在loadPostsRece
在loadPostsReceivedMessage()方法的最后添加以下行:
self.chats = self.chats.images.sorted(by: { $0.timeStampString > $1.timeStampString })
self.collectionView.reloadData()
这将对您的数据进行排序。如果所有聊天都是向后的,则将LoadPost和LoadPostsReceivedMessage的>更改为a,它们都已分别按时间戳排序。但是,它们不是按时间戳排序的。因此,所有receivedMessage都按升序显示在左侧,虽然sendMessage显示在右侧,但它应该像在真实聊天中一样排序在一起。不,它没有。它只按时间戳对receivedMessage排序,而不与sentMessage排序在一起。因此,sentMessage都显示在屏幕的左侧,然后在左侧显示receivedMessage,但它应该像现实世界中的聊天一样,人们在聊天时几乎是同时进行的。您是否转到链接并在那里尝试答案?
self.chats = self.chats.images.sorted(by: { $0.timeStampString > $1.timeStampString })
self.collectionView.reloadData()