Objective-C не похож на PHP или другие интерпретируемые языки, где «тип» переменной может меняться в зависимости от того, как вы ее используете. Все переменные имеют фиксированный тип, когда они объявлены, и это нельзя изменить. Поскольку тип определяется во время компиляции, нет необходимости запрашивать тип переменной во время выполнения.
Например:
float var1; // var1 is a float and can't be any other type
int var2; // var2 is an int and can't be any other type
NSString* var3; // var3 is a pointer to a NSString object and can't be any other type
Тип указывается перед именем переменной, также в функциях:
- (void)initWithValue:(float)param1 andName:(NSString*)param2
{
// param1 is a float
// param2 is a pointer to a NSString object
}
Итак, как вы можете видеть, тип фиксируется при объявлении переменной (также вы заметите, что все переменные должны быть объявлены, то есть вы не можете просто внезапно начать использовать имя новой переменной, если вы не объявили ее сначала).