Использование константных переменных в выражениях Objective-C? - PullRequest
1 голос
/ 14 апреля 2009

на Java

static final int VCount = 21, TCount = 28, NCount = VCount * TCount;

в Objective-C

static int VCount = 21, TCount = 28, NCount = ???;

Как я могу выразить NCount int, поскольку он ссылается на переменные?

1 Ответ

9 голосов
/ 14 апреля 2009

Эти переменные не являются константами. Обычно в Objective-C вы определяете основные константы, используя препроцессор, и помещаете их в общие заголовочные файлы. Например:

#define VCOUNT 21

Константы, созданные таким образом, обычно записываются всеми заглавными буквами. Другое соглашение состоит в том, чтобы создать символ в общем исходном файле (тот, с которым все связано) и объявить его как внешний символ. Какао делает это с хорошо определенными ключевыми значениями. Например, в файле общего заголовка вы должны определить переменную:

extern const NSString *myGlobalKey;

Затем в некотором исходном файле вы определяете фактическое значение переменной (в области видимости файла):

const NSString *myGlobalKey = @"MyGlobalKey";

Если ваш класс просто использует глобальную постоянную переменную и значение не нуждается в области видимости вне вашего класса, то можно использовать любой из этих методов и просто не предоставлять определения для них в каком-либо общем заголовочном файле.

...