Swift Combine : removeDuplicates(), vous pouvez totalement en abuser si vous ne lisez pas ceci.

Nov 30 2022
Découvrons removeDuplicates(). Comme son nom l'indique, il supprime les doublons.

Découvrons removeDuplicates(). Comme son nom l'indique, il supprime les doublons. Mais cela fonctionne d'une manière un peu différente de ce à quoi vous pourriez vous attendre.

Appliquer removeDuplicates() - ce n'est pas ce que vous attendez

let words = ["apple", "apple", "fruit", "apple", "mango", "watermelon", "apple"]
words.publisher
		.removeDuplicates()
		.sink {
		print($0) // apple, fruit, apple, mango, watermelon, apple 
}

Mais le résultat est complètement à l'opposé de ce à quoi vous vous attendiez !

Il reste encore des valeurs en double…

Seul le deuxième élément de l'élément dupliqué appleest supprimé...

Pourquoi donc?

Dans la programmation réactive, tout vient à vous comme une séquence de cet événement.

Si deux événements différents arrivent et s'ils ont exactement la même valeur Apple dans ce cas, il va commencer à supprimer ces doublons.

Conclusion et Avertissement !!!

removeDuplicate()ne fonctionne que lorsque la même valeur apparaît consécutivement.