1. NSString *string;
2. NSString * string;
3. (NSString *) string;
4. NSString* string;
1,2 и 4 эквивалентны. Язык C (и расширенный набор Objective-C в C) определяют синтаксис, нечувствительный к пробелам. Таким образом, вы можете свободно добавлять пробелы, где вы выбираете, как вопрос стиля. Весь соответствующий синтаксис ограничен непробельными символами (например, {
, }
, ;
и т. Д.) [1].
3 - это либо приведение типа (указание компилятору C использовать тип NSString*
независимо от объявленного типа string
. В Objective-C приведение типов экземпляров объектов редко требуется. 1009 * тип для переменных, которые могут ссылаться на экземпляры любого типа объекта.
В объявлениях методов синтаксис 3 (иногда без конечной точки с запятой) используется для объявления типа параметров метода. Метод Objective-C может выглядеть так:
- (void)myMethodThatTakesAString:(NSString*)string;
В этом объявлении тип аргумента с именем string
имеет тип NSString*
(ведущий -
указывает метод экземпляра в отличие от метода класса). Объявление метода с более чем одним параметром может выглядеть так:
- (void)myMethodTakingAString:(NSString*)string andAnInteger:(NSInteger)intParam;
[1] По сравнению с такими языками, как Python, в качестве разделителя блоков используются пробелы.