Le personnage
Réponses
Trop de publicités?Le premier problème est que vous êtes à combler à la Fondation avec contains
(Swift String
n'est pas un Collection
), donc c'est NSString
comportement, je ne crois pas que les poignées composé Emoji autant de force que le Swift. Cela dit, Swift, je crois, est la mise en œuvre de l'Unicode 8 maintenant, qui avait également besoin de révision autour de cette situation en Unicode 10 (donc cela peut changer du tout au tout lorsqu'ils mettent en œuvre Unicode 10; je n'ai pas creusé dans la si elle sera ou non).
Pour simplifier la chose, débarrassons-nous de la Fondation, et l'utilisation de Swift, qui offre des vues qui sont plus explicites. Nous allons commencer avec les personnages:
"
Il semble que Swift considère un ZWJ
comme un cluster de graphèmes étendu avec le caractère le précédant immédiatement. Nous pouvons le voir lorsque vous mappez le tableau de caractères sur leur unicodeScalars
:
Array(manual.characters).map { $0.description.unicodeScalars }
Cela imprime ce qui suit à partir de LLDB:
▿ 4 elements
▿ 0 : StringUnicodeScalarView("