Der Typ String
von Swift bietet keine Methode characterAtIndex
, da eine Unicode-Zeichenfolge auf verschiedene Arten codiert sein könnte. Verwenden Sie UTF8, UTF16 oder etwas anderes?
Sie können auf die CodeUnit
-Sammlungen zugreifen, indem Sie die Eigenschaften String.utf8
und String.utf16
abrufen. Sie können auch auf die UnicodeScalar
-Sammlung zugreifen, indem Sie die Eigenschaft String.unicodeScalars
abrufen.
In Anlehnung an die Implementierung von NSString
gebe ich einen Typ unichar
zurück.
extension String
{
func characterAtIndex(index:Int) -> unichar
{
return self.utf16[index]
}
// Ermöglicht uns die Verwendung der Notation String[index]
subscript(index:Int) -> unichar
{
return characterAtIndex(index)
}
}
let text = "Hallo Swift!"
let firstChar = text[0]