У меня было много похожих вопросов, но ни один из них не имел действительно хорошего ответа о том, что мне нужно. Мне интересно, как написать константы в файле .h. мой файл констант - это просто чистый файл без импорта, просто очистите файл .h. Я импортирую его в файл префикса. , когда я используюobject-c constants.h static const
static NSInteger someInteger = 1;
или
static BOOl someBool = YES;
компилятор компилирует нормально, но дает мне предупреждение, что эта переменная не используется, даже если им с помощью его несколько раз в разных классах. Но если я использую
static NSString* someString = @"";
нет никаких предупреждений.
также, если я использую
const NSInteger someInteger = 1;
компилятор компилирует нормально для реального устройства, но при работе на тренажере он не компилируется с ошибкой duplicate symbols for architecture i386
также то, что разница между
const NSString* someString = @"";
const NSInteger someInteger = 1;
и
NSString* const someString = @"";
NSInteger const someInteger = 1;
Я закончил с использованием static const NSInteger someInteger =1;
, но мне интересно, если это правильный вариант. Итак, действительно мой вопрос: какие слова я должен использовать для успешного создания файла constants.h?
но когда я использую const NSInteger someInteger = 1; компилятор выдает ошибку о повторяющихся символах – t0a0
@TrenboloneA Используете ли вы '#import" константы.h "', а не '#include" constants.h "?? Вы уверены, что 'someInteger' еще не объявлен в файле реализации? – trojanfoe
Да, имейте в виду. может быть, это потому, что константы являются чистым листом, а не подклассом без реализации и интерфейса? – t0a0