È ancora più facile in Swift:
let string : String = "Hello 🐶🐮 🇩🇪"
let characters = Array(string)
println(characters)
// [H, e, l, l, o, , 🐶, 🐮, , 🇩🇪]
Questo usa i fatti che
- an
Arraypuò essere creato da a SequenceTypee
Stringè conforme al SequenceTypeprotocollo e il suo generatore di sequenza enumera i caratteri.
E poiché le stringhe Swift hanno il pieno supporto per Unicode, questo funziona anche con caratteri esterni al "Piano multilingue di base" (come 🐶) e con cluster grapheme estesi (come 🇩🇪, che in realtà è composto da due scalari Unicode).
Aggiornamento: a partire da Swift 2, String non è più conforme
SequenceType, ma la charactersproprietà fornisce una sequenza di caratteri Unicode:
let string = "Hello 🐶🐮 🇩🇪"
let characters = Array(string.characters)
print(characters)
Funziona anche in Swift 3 .
Aggiornamento: A partire da Swift 4, String è (di nuovo) una raccolta dei suoi
Characters:
let string = "Hello 🐶🐮 🇩🇪"
let characters = Array(string)
print(characters)
// ["H", "e", "l", "l", "o", " ", "🐶", "🐮", " ", "🇩🇪"]
let joined = ", ".join(characters);) l'array provochi un'String' is not identical to 'Character'errore?