Programmieren mit Swift - Für macOS und iOS
Programmieren mit Swift - Für macOS und iOS
NSString - Erzeugen

Auf der letzten Seite wurde schon ein wenig vorgegriffen und das Objekt NSString vorgestellt. Wollen Sie Zeichenketten, wie zum Beispiel die Eingaben eines Anwenders in ein Textfeld, verwalten, ist NSString in den meisten Fällen ideal für diese Aufgabe.

NSString ist aber kein einfacher Datentyp, sondern eine komplexe Klasse mit einer Vielzahl an Methoden. Das kann man vielleicht schon daran erkennen, das Apples Dokumentation für NSString über 100 Seiten beträgt. Seien Sie sich also im klaren darüber, dass alles, was Sie jetzt lesen nur ein kleiner Ausblick auf das technisch Mögliche ist. Trotzdem werden Sie hier einige der wichtigsten und immer wiederkehrenden Funktionen kennenlernen. Weitere Verwendungszwecke von NSString werden Ihnen im Laufe der Zeit in anderen Kapitel begegnen.

Die wichtigste Funktion ist natürlich das Erzeugen einen komplett neuen Text-Objektes.
NSString *name = @"Max Meier";
Obwohl es sich bei NSString zweifelsfrei um einen Objekttyp handelt, müssen Sie diese Objekt nicht mit alloc und init erzeugen und sparen dadurch eine Menge Code. Es gibt aber trotzdem eine Menge Methoden, um NSString Objekte zu erzeugen. Die finden immer dann Verwendung, wenn man einen Text aus einem anderen Datentyp erzeugen möchte. Wollen Sie einen NSString aus deiner Zahl erzeugen, kommen, die schon aus dem letzten Kapitel bekannten Format Specifier zum Einsatz.
int intNumber = 889977;
NSString *textNumber = [NSString stringWithFormat:
@"%i",intNumber];
NSLog (
@"%@",textNumber);
Eine andere Möglichkeit einen NSString zu erzeugen, ist es ein schon bestehendes Objekt an einen neuen Text anzuhängen. Die Methode stringAppendingString erledigt dies.
NSString *hallo = @"Hallo";
NSString *hallowelt = [hallo stringByAppendingString:
@" Welt"];
Nicht nur bei der Ausgabe, auch schon beim Erstellen von Textobjekten können Sie Format Specifier verwenden und so bestimmen, wie ein Text formatiert werden soll. Das folgende Beispiel formatiert einen float-Wert auf zwei Stellen nach dem Komma. Dabei wird automatisch gerundet.
float floatNumber = 8897.6394;
NSString *textNumber = [NSString stringWithFormat:
@"%.2f",floatNumber];
NSLog (
@"%@", textNumber);
Sie können Zeichenketten auch beliebig kombinieren. Der Format Specifier dient immer als Platzhalter, und die Variable wird automatisch an der angegebenen Position eingefügt.
int intNumber = 889977;
NSString *textNumber =
[NSString stringWithFormat:
@"Das Ergebnis ist:%i",intNumber];
Oder so:
NSString *name = @"Max Meier";
int age = 37;
NSString *message =
[NSString stringWithFormat:
@"Herr %@ ist %i Jahre alt.",name,age];
NSLog (
@"%@",message);