Вопрос по objective-c, static, constants – Ссылка на статический NSString * const из другого класса
3
ответа
Вам необходимо удалитьstatic
- это указывает, чтоkMyConstant
виден только в файлах, связанных с этим.
Затем объявить (в отличие отdefining) строка в заголовке класса A:
extern NSString * const kMyConstant;
и импортируйте этот заголовок, где вы хотите использовать эту строку.extern
декларация говорит, что существуетNSString * const
по имениkMyConstant
чье хранилище создано в каком-то другом месте.
Если статическое определениеalready в заголовке вам нужно переместить его в другое место (обычно это файл реализации). Вещи могут быть определены только один раз, и если вы попытаетесь импортировать файл, который определяет переменную, вы получите ошибку компоновщика.