Главная » iPhone, Objective-C, Программирование для iOS и MacOS » NSString Objective-C

0

NSString – еще один готовый класс, как и NSDate. В экземплярах NSString хранятся последовательности символов. В программном коде для создания экземпляра NSString можно использовать запись вида

NSString *lament = @"Why me!?";

Вспомните, по в проекте TimeAfterTime вводился следующий код:

NSLog(@"The date is %@", now);

NSLog( ) – функция Objective-C (не метод!), внешне похожая на printf(). Однако в NSLog( ) форматная строка в действительности является экземпляром NSString.

Экземпляры NSString можно создавать на программлом уровне при помощи метода класса stringWithFormat:

NSString *x = [NSString stringWithFormat:@"The best number is %d", 5];

Для получения количества символов встроке используется метод length:

NSUInteger charCount = [x length];

Метод isEqual: проверяет на равенство содержимое двух строк:.

if ([lament isEqual:x])

NSLog(@"%@ and %@ are equal", lament, x);

В языке С тоже существует конструкция для работы со строками символов. Вот как предыдущий пример выглядел бы на языке С:

char *lament = "Why me!?"; char *x;

asprintf(&x, "The best number is %d", 5); size_t charCount = strlen(x);

if (strcmp(lament, x) == 0)

printf("%s and %s are equal\n", lament, x); free(x);

Строки С будут рассмотрены в главе 34. Там, где это возможно, используйте объекты NSString вместо строк С. Класс NSString содержит много методов, упрощающих вашу работу. Кроме того, класс NSString (базирующийся на стандарте

Юникод) отлично справляется с хранением текста на любом из языков нашей планеты.

Незнакомые символы? Нет проблем. Текст читается справа налево? Запросто.

Упражнение

Класс NSHost содержит информацию о вашем компьютере. Для получения экземпляра NSHost используется метод класса NSHost с именем currentHost. Этот метод возвращает указатель на объект NSHost:

+ (NSHost *)currentHost

Для получения локализованного имени компьютера используется метод экземпляра

NSHost с именем localizedName, возвращающий указатель на объект NSString:

-  (NSString *)localizedName

Напишите  программу  командной  строки  Foundation,  которая  выводит  имя  вашего компьютера. (Программа выполняется на удивление долго.)

Источник: Аарон Хилегас, «Objective-C. Программирование для iOS и MacOS», 2012 г.

По теме:

  • Комментарии