У меня есть файл constants.h, который объявляет кучу строк, которые я использую во всем приложении. У меня только строки и ничего больше. Должен ли я использовать #define или статический NSString const? #define работает, но я слышал, что это не самая лучшая практика.
IOS #define или static const для глобальных строк
Ответ 1
#define
- это препроцессорный макрос. Это означает, что он в основном проходит через ваш код и заменяет ваш макрос тем, что вы определили.
Если вы используете const, это будет указатель на строку в памяти. Это намного эффективнее, чем выделение одной и той же строки где бы то ни было/когда оно используется.
Для этого вам понадобятся файлы .h и .m. Ваш .h файл будет выглядеть примерно так:
extern NSString * const YOUR_STRING;
И ваш .m файл:
NSString * const YOUR_STRING = @"your string";