Строки Objective-C
Строка на языке программирования 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)index; Возвращает символ в заданной позиции массива. |
3 | - (double)doubleValue; Возвращает значение с плавающей запятой текста получателя как двойное. |
4 | - (float)floatValue; Возвращает значение с плавающей запятой текста получателя в виде числа с плавающей запятой. |
5 | - (BOOL)hasPrefix:(NSString *)aString; Возвращает логическое значение, указывающее, соответствует ли данная строка начальным символам получателя. |
6 | - (BOOL)hasSuffix:(NSString *)aString; Возвращает логическое значение, указывающее, соответствует ли данная строка конечным символам получателя. |
7 | - (id)initWithFormat:(NSString *)format ...; Возвращает объект NSString, инициализированный с использованием заданной строки формата в качестве шаблона, в который подставляются остальные значения аргументов. |
8 | - (NSInteger)integerValue; Возвращает значение NSInteger текста получателя. |
9 | - (BOOL)isEqualToString:(NSString *)aString; Возвращает логическое значение, которое указывает, равна ли данная строка получателю, используя буквальное сравнение на основе Юникода. |
10 | - (NSUInteger)length; Возвращает количество символов Unicode в получателе. |
11 | - (NSString *)lowercaseString; Возвращает представление получателя в нижнем регистре. |
12 | - (NSRange)rangeOfString:(NSString *)aString; Находит и возвращает диапазон первого вхождения заданной строки в получателе. |
13 | - (NSString *)stringByAppendingFormat:(NSString *)format ...; Возвращает строку, полученную путем добавления к получателю строки, созданной из заданной строки формата и следующих аргументов. |
14 | - (NSString *)stringByTrimmingCharactersInSet:(NSCharacterSet *)set; Возвращает новую строку, полученную путем удаления с обоих концов символов-получателей, содержащихся в данном наборе символов. |
15 | - (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.