Учебники

Строки Objective-C

Строка в языке программирования Objective-C представляется с использованием NSString, а ее подкласс NSMutableString предоставляет несколько способов создания строковых объектов. Самый простой способ создать строковый объект — использовать конструкцию Objective-C @ «…» —

NSString *greeting = @"Hello";

Простой пример создания и печати строки показан ниже.

Live Demo

#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;

Возвращает новую строку, содержащую символы получателя, от строки с заданным индексом до конца.

Следующий пример использует несколько из вышеупомянутых функций —

Live Demo

#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.