Ответ 1
Это правильный способ сделать это. Создайте новый пустой файл .h и .m. В файле .h:
extern NSString* const BACKGROUND;
В вашем .m файле:
NSString* const BACKGROUND = @"bg.png";
Каков наилучший способ определения глобальной доступной строки?
Я вижу, что для целых чисел это обычно так #define easy 0
Однако, как я могу подражать этому для NSString?
Я попробовал статический NSString *BACKGROUND = @"bg.png";
В то время как эта работа, она дает предупреждение о том, что переменная никогда не используется. (У меня все это в файле .h)
Выполнение NSString *const BACKGROUND = @"bg.png";
еще хуже, поскольку при импорте файла указывается повторяющаяся переменная.
Я вижу, что #define BACKGROUND @"bg.png"
тоже работает.
Итак, я думаю, в чем разница между тем, когда использовать #define
, const
и static
Спасибо,
Тройник
Это правильный способ сделать это. Создайте новый пустой файл .h и .m. В файле .h:
extern NSString* const BACKGROUND;
В вашем .m файле:
NSString* const BACKGROUND = @"bg.png";
Возможно, вам захочется использовать список свойств чтобы сохранить ваши строки. Это позволяет вашему коду оставаться гибким для будущих обновлений, особенно если вы добавите поддержку локализации.