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