Как работает #defines в Objective-C?
У меня есть опыт работы в C / C ++, и сейчас я пытаюсь подобрать Objective-C. #defines, похоже, не работают в target-c так же, как они работают в c и C ++, где компилятор просто заменяет все ссылки на определения тем, что они должны представлять.
Когда я пытаюсь использовать #defines в Objective-C, они работают только иногда. Например, когда я делаю что-то вроде этого;
#define NUMBER 5
int myArray[NUMBER];
Я получаю ошибки компилятора, говорящие об отсутствии квадратной скобки, где, если я использую эту строку, она работает нормально;
int myArray[5];
Наверняка это должно быть одно и то же?
Также, если я пытаюсь использовать значение #define в любых уравнениях, я получаю похожие ошибки компиляции. Этот код не работает;
#define NUMBER 5
float var = NUMBER * 0.2;
Где, как это хорошо;
float var = 5 * 0.2;
Любой, кто знает, почему это может быть, или как #defines обрабатываются компилятором Objective-C по-разному. Кстати, я использую XCode, только если это имеет значение.