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