メッセージがその日の最初のものかどうかを判断する必要があります。その後、新しい日まで他のすべてのためにnilを返します。
自分のメッセージがその個人によって最初に送信されたものかどうかを判断する関数を作成しました。これは次のようになります
func firstMessageOfTheDay(indexOfMessage: NSIndexPath) -> Bool {
let messageDate = messages[indexOfMessage.item].date
guard let previouseMessageDate = messages[indexOfMessage.item - 1].date else {
return true // because there is no previous message so we need to show the date
}
let day = Calendar.current.component(.day, from: messageDate)
let previouseDay = Calendar.current.component(.day, from: previouseMessageDate)
if day == previouseDay {
return false
} else {
return true
}
}
それを適切な関数で呼び出します。あなたが他の質問があれば教えてください。
ありがとうございましたダニエルその本当に完璧な答え –
私はそれが助けてうれしいです –
こんにちはUmesh、表示日の全体のコードを投稿できますか?私はあなたのようにする方法を見つけることができません –