Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.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
Ios 根据时间戳显示消息(已发送和已接收)_Ios_Swift_Firebase_Google Cloud Firestore - Fatal编程技术网

Ios 根据时间戳显示消息(已发送和已接收)

Ios 根据时间戳显示消息(已发送和已接收),ios,swift,firebase,google-cloud-firestore,Ios,Swift,Firebase,Google Cloud Firestore,我已经为此挣扎了几天,我真的需要你的帮助。 当前,发送的消息首先显示在视图控制器的左侧,根据它们的时间戳显示所有消息,然后接收的消息显示在视图控制器的右侧。但是,我希望发送和接收的消息都能根据时间戳一起排序,这样它就类似于真实世界了。例如,约翰在上午9:30给彼得发了一条信息“嗨”,彼得在上午10点回复“我很好”,约翰在10:15给彼得发了一条信息说“很高兴听到”。发送的消息首先显示在左侧,然后接收的消息全部显示在右侧,但是我希望它反映真实世界(接收和发送的时间戳) 在loadPostsRece

我已经为此挣扎了几天,我真的需要你的帮助。 当前,发送的消息首先显示在视图控制器的左侧,根据它们的时间戳显示所有消息,然后接收的消息显示在视图控制器的右侧。但是,我希望发送和接收的消息都能根据时间戳一起排序,这样它就类似于真实世界了。例如,约翰在上午9:30给彼得发了一条信息“嗨”,彼得在上午10点回复“我很好”,约翰在10:15给彼得发了一条信息说“很高兴听到”。发送的消息首先显示在左侧,然后接收的消息全部显示在右侧,但是我希望它反映真实世界(接收和发送的时间戳)


在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()