Objective-C-Strings
Die Zeichenfolge in der Programmiersprache Objective-C wird mit NSString dargestellt, und ihre Unterklasse NSMutableString bietet verschiedene Möglichkeiten zum Erstellen von Zeichenfolgenobjekten. Der einfachste Weg, ein String-Objekt zu erstellen, ist die Verwendung des Objective-C @ "..." - Konstrukts -
NSString *greeting = @"Hello";
Ein einfaches Beispiel zum Erstellen und Drucken einer Zeichenfolge ist unten dargestellt.
#import <Foundation/Foundation.h>
int main () {
NSString *greeting = @"Hello";
NSLog(@"Greeting message: %@\n", greeting );
return 0;
}
Wenn der obige Code kompiliert und ausgeführt wird, ergibt er Folgendes:
2013-09-11 01:21:39.922 demo[23926] Greeting message: Hello
Objective-C unterstützt eine Vielzahl von Methoden zum Bearbeiten von Zeichenfolgen -
Sr.Nr. | Methode & Zweck |
---|---|
1 | - (NSString *)capitalizedString; Gibt eine großgeschriebene Darstellung des Empfängers zurück. |
2 | - (unichar)characterAtIndex:(NSUInteger)index; Gibt das Zeichen an einer bestimmten Array-Position zurück. |
3 | - (double)doubleValue; Gibt den Gleitkommawert des Empfängertextes als Double zurück. |
4 | - (float)floatValue; Gibt den Gleitkommawert des Empfängertextes als Gleitkomma zurück. |
5 | - (BOOL)hasPrefix:(NSString *)aString; Gibt einen booleschen Wert zurück, der angibt, ob eine bestimmte Zeichenfolge mit den Anfangszeichen des Empfängers übereinstimmt. |
6 | - (BOOL)hasSuffix:(NSString *)aString; Gibt einen booleschen Wert zurück, der angibt, ob eine bestimmte Zeichenfolge mit den Endzeichen des Empfängers übereinstimmt. |
7 | - (id)initWithFormat:(NSString *)format ...; Gibt ein NSString-Objekt zurück, das mithilfe einer bestimmten Formatzeichenfolge als Vorlage initialisiert wurde, in die die verbleibenden Argumentwerte eingesetzt werden. |
8 | - (NSInteger)integerValue; Gibt den NSInteger-Wert des Empfängertextes zurück. |
9 | - (BOOL)isEqualToString:(NSString *)aString; Gibt einen booleschen Wert zurück, der mithilfe eines Literal-Unicode-basierten Vergleichs angibt, ob eine bestimmte Zeichenfolge dem Empfänger entspricht. |
10 | - (NSUInteger)length; Gibt die Anzahl der Unicode-Zeichen im Empfänger zurück. |
11 | - (NSString *)lowercaseString; Gibt eine Darstellung des Empfängers in Kleinbuchstaben zurück. |
12 | - (NSRange)rangeOfString:(NSString *)aString; Findet den Bereich des ersten Auftretens einer bestimmten Zeichenfolge im Empfänger und gibt ihn zurück. |
13 | - (NSString *)stringByAppendingFormat:(NSString *)format ...; Gibt eine Zeichenfolge zurück, die durch Anhängen einer Zeichenfolge an den Empfänger erstellt wurde, die aus einer bestimmten Formatzeichenfolge und den folgenden Argumenten erstellt wurde. |
14 | - (NSString *)stringByTrimmingCharactersInSet:(NSCharacterSet *)set; Gibt eine neue Zeichenfolge zurück, die durch Entfernen der in einem bestimmten Zeichensatz enthaltenen Empfängerzeichen an beiden Enden erstellt wurde. |
15 | - (NSString *)substringFromIndex:(NSUInteger)anIndex; Gibt eine neue Zeichenfolge zurück, die die Zeichen des Empfängers von der Zeichenfolge an einem bestimmten Index bis zum Ende enthält. |
Das folgende Beispiel verwendet einige der oben genannten Funktionen -
#import <Foundation/Foundation.h>
int main () {
NSString *str1 = @"Hello";
NSString *str2 = @"World";
NSString *str3;
int len ;
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
/* uppercase string */
str3 = [str2 uppercaseString];
NSLog(@"Uppercase String : %@\n", str3 );
/* concatenates str1 and str2 */
str3 = [str1 stringByAppendingFormat:@"World"];
NSLog(@"Concatenated string: %@\n", str3 );
/* total length of str3 after concatenation */
len = [str3 length];
NSLog(@"Length of Str3 : %d\n", len );
/* InitWithFormat */
str3 = [[NSString alloc] initWithFormat:@"%@ %@",str1,str2];
NSLog(@"Using initWithFormat: %@\n", str3 );
[pool drain];
return 0;
}
Wenn der obige Code kompiliert und ausgeführt wird, ergibt er Folgendes:
2013-09-11 01:15:45.069 demo[30378] Uppercase String : WORLD
2013-09-11 01:15:45.070 demo[30378] Concatenated string: HelloWorld
2013-09-11 01:15:45.070 demo[30378] Length of Str3 : 10
2013-09-11 01:15:45.070 demo[30378] Using initWithFormat: Hello World
Eine vollständige Liste der Objective-C NSString-bezogenen Methoden finden Sie in der NSString-Klassenreferenz.