Определение глобально доступной строки в Objective-C

Каков наилучший способ определить глобально доступную строку?

Я вижу, что для целых чисел это обычно так #define easy 0

Однако как я могу эмулировать это для NSString?
Я попробовал статический NSString * BACKGROUND = @ "bg.png";
Хотя эта работа и выдает предупреждение о том, что переменная никогда не используется. (У меня есть все это в файле .h)

Doing NSString * const BACKGROUND = @ "bg.png"; еще хуже, так как при импорте файла он говорит о дублирующейся переменной.

Я вижу, что #define BACKGROUND @ "bg.png" , похоже, тоже работает.

Так что я думаю, в чем разница между тем, когда использовать #define , const & статический

Спасибо,
Tee

18
задан Josh Caswell 17 August 2013 в 00:45
поделиться

2 ответа

Это правильный способ сделать это. Создайте новый пустой файл .h и .m. В вашем .h файле:

extern NSString* const BACKGROUND;

В вашем .m файле:

NSString* const BACKGROUND = @"bg.png";
43
ответ дан 30 November 2019 в 06:28
поделиться

Возможно, вы захотите использовать список свойств для хранения ваших строк. Это позволяет вашему коду оставаться гибким для будущих обновлений, особенно если вы добавите поддержку локализации.

6
ответ дан 30 November 2019 в 06:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: