nsstring в objective c

#objective-c

#objective-c

Вопрос:

я новичок в objective c. я нашел следующую строку в коде и не в состоянии понять, что она делает, поскольку storeselect нигде в коде не использовался.

NSString *Выбор хранилища=@»»;

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

1. Используются ли послесловия storeSelect?

Ответ №1:

Objective-C построен на языке Си. В C строковые литералы заключаются в кавычки, то есть «hello». Чтобы различать строки NSString и C (указатели символов, char * ), Objective-C использует @ перед строками, поэтому @"" просто пусто NSString . Если бы его не было @ , это была бы пустая строка C, например char *myString = "hello world"; .

Ответ №2:

storeSelect это имя переменной, тип которой NSString * , со значением, присвоенным @""

Ответ №3:

Это просто присвоение пустой строки переменной с именем storeSelect . @"" Предназначен для постоянных строк.

Ответ №4:

 NSString *storeSelect=@"Hello World"; 
  

является сокращением —

 NSString *str = [NSString stringWithCString:"Hello World"];
  

поскольку «stringWithCString» является удобным методом, он будет автоматически добавлен в autoreleased.

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

1. stringWithCString: не рекомендуется в пользу stringWithCString:encoding: