Строка в языке программирования Objective-C представляется с использованием NSString, а ее подкласс NSMutableString предоставляет несколько способов создания строковых объектов. Самый простой способ создать строковый объект — использовать конструкцию Objective-C @ «…» —
NSString *greeting = @"Hello";
Простой пример создания и печати строки показан ниже.
#import <Foundation/Foundation.h> int main () { NSString *greeting = @"Hello"; NSLog(@"Greeting message: %@\n", greeting ); return 0; }
Когда приведенный выше код компилируется и выполняется, он выдает результат, который выглядит следующим образом:
2013-09-11 01:21:39.922 demo[23926] Greeting message: Hello
Objective-C поддерживает широкий спектр методов для работы со строками —
Sr.No. | Метод и цель |
---|---|
1 |
— (NSString *) capitalizedString; Возвращает заглавное представление получателя. |
2 |
— (unichar) characterAtIndex: (NSUInteger) индекс; Возвращает символ в заданной позиции массива. |
3 |
— (double) doubleValue; Возвращает значение с плавающей запятой текста получателя как double. |
4 |
— (float) floatValue; Возвращает значение с плавающей запятой текста получателя в виде числа с плавающей запятой. |
5 |
— (BOOL) hasPrefix: (NSString *) aString; Возвращает логическое значение, которое указывает, соответствует ли данная строка начальным символам получателя. |
6 |
— (BOOL) имеет суффикс: (NSString *) aString; Возвращает логическое значение, которое указывает, соответствует ли данная строка конечным символам получателя. |
7 |
— (id) initWithFormat: (NSString *) формат …; Возвращает объект NSString, инициализированный с использованием заданной строки формата в качестве шаблона, в который подставляются оставшиеся значения аргумента. |
8 |
— (NSInteger) integerValue; Возвращает значение NSInteger текста получателя. |
9 |
— (BOOL) isEqualToString: (NSString *) aString; Возвращает логическое значение, которое указывает, равна ли данная строка получателю, используя буквальное сравнение на основе Unicode. |
10 |
— (NSUInteger) длина; Возвращает количество символов Unicode в получателе. |
11 |
— (NSString *) lowercaseString; Возвращает представление получателя в нижнем регистре. |
12 |
— (NSRange) rangeOfString: (NSString *) aString; Находит и возвращает диапазон первого вхождения данной строки в получателе. |
13 |
— (NSString *) stringByAppendingFormat: (NSString *) формат …; Возвращает строку, созданную добавлением к получателю строки, составленной из заданной строки формата и следующих аргументов. |
14 |
— (NSString *) stringByTrimmingCharactersInSet: (NSCharacterSet *) set; Возвращает новую строку, созданную удалением с обоих концов символов получателя, содержащихся в данном наборе символов. |
15 |
— (NSString *) substringFromIndex: (NSUInteger) anIndex; Возвращает новую строку, содержащую символы получателя, от строки с заданным индексом до конца. |
— (NSString *) capitalizedString;
Возвращает заглавное представление получателя.
— (unichar) characterAtIndex: (NSUInteger) индекс;
Возвращает символ в заданной позиции массива.
— (double) doubleValue;
Возвращает значение с плавающей запятой текста получателя как double.
— (float) floatValue;
Возвращает значение с плавающей запятой текста получателя в виде числа с плавающей запятой.
— (BOOL) hasPrefix: (NSString *) aString;
Возвращает логическое значение, которое указывает, соответствует ли данная строка начальным символам получателя.
— (BOOL) имеет суффикс: (NSString *) aString;
Возвращает логическое значение, которое указывает, соответствует ли данная строка конечным символам получателя.
— (id) initWithFormat: (NSString *) формат …;
Возвращает объект NSString, инициализированный с использованием заданной строки формата в качестве шаблона, в который подставляются оставшиеся значения аргумента.
— (NSInteger) integerValue;
Возвращает значение NSInteger текста получателя.
— (BOOL) isEqualToString: (NSString *) aString;
Возвращает логическое значение, которое указывает, равна ли данная строка получателю, используя буквальное сравнение на основе Unicode.
— (NSUInteger) длина;
Возвращает количество символов Unicode в получателе.
— (NSString *) lowercaseString;
Возвращает представление получателя в нижнем регистре.
— (NSRange) rangeOfString: (NSString *) aString;
Находит и возвращает диапазон первого вхождения данной строки в получателе.
— (NSString *) stringByAppendingFormat: (NSString *) формат …;
Возвращает строку, созданную добавлением к получателю строки, составленной из заданной строки формата и следующих аргументов.
— (NSString *) stringByTrimmingCharactersInSet: (NSCharacterSet *) set;
Возвращает новую строку, созданную удалением с обоих концов символов получателя, содержащихся в данном наборе символов.
— (NSString *) substringFromIndex: (NSUInteger) anIndex;
Возвращает новую строку, содержащую символы получателя, от строки с заданным индексом до конца.
Следующий пример использует несколько из вышеупомянутых функций —
#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; }
Когда приведенный выше код компилируется и выполняется, он выдает результат, который выглядит следующим образом:
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
Вы можете найти полный список связанных с NSString методов Objective-C в Справочнике по классам NSString.