Главная » iPhone, Objective-C, Программирование для iOS и MacOS » Преобразования к NSStгing и обратно Objective-C

0

Если вы работаете со строками С в программе Objective-C, вы должны уметь создавать NSString из строк С. Для этого в классе NSString имеется специальный метод:

char "greeting I ‘(etto*’,

2AAtring "E I #2AAtring string)ith>Atring:greeting encoding:2A3;@8AtringVncoding$,

Также возможна и обратная операция – создание строки С на базе NSString. Сделать это немного сложнее, потому что NSString может работать с некоторыми символами, не поддерживаемыми другими кодировками. Желательно сначала убедиться в том, что преобразование возможно:

2AAtring  "greeting  I ‘(etto*’, const char "E I 23DD,

if  #greeting canBe>onverted;oVncoding:2A3;@8AtringVncoding$% & E I #greeting cAtring3singVncoding:2A3;@8AtringVncoding$,

.

Вы не являетесь владельцем созданной строки С; система в конечном итоге освободит ее за вас. Гарантировано, что строка будет существовать по крайней мере до тех пор, пока существует текущий пул autorelease; если строка С должна существовать более долгое время, скопируйте ее в буфер, созданный вызовом mаllос().

Упражнение

Напишите функцию c именем spaceCount() для подсчета пробелов (ASCII 0х20) в строке С. Проверьте работу функции следующим образом:

#inctude <stdio.h>

int main  int argc! const char " argv#$%

&

const char "sentence I ‘(e 0as not in the cab at the time.’, printf ‘+’Qs+’ has Qd spaces+n’! sentence! space>ount sentence%%,

return -,

.

И помните: обнаружение символа ‘\0′ означает, что вы добрались до конца строки!

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

По теме:

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