Нет проблем с этим ... Макрос - это просто замена текста.
/* foo.h */
#define C_MACRO @"foo", @"bar"
/* bar.m */
#import "foo.h"
NSArray * someArray = [ [ NSArray alloc ] initWithObjects: C_MACRO, nil ];
Обратите внимание, что вы можете использовать макросы внутри другого макроса.Итак,
#define FOO_STR @"foo"
#define BAR_STR @"bar"
#define STR_LIST FOO_STR, BAR_STR
Другим способом является размещение ваших строк в файле .m и объявление их как extern
в открытом заголовочном файле.Удобно, если уникальные экземпляры одного и того же объекта должны быть общими.
/* foo.h */
extern NSString * const fooStr;
extern NSString * const barStr;
/* foo.m */
NSString * const fooStr = @"foo";
NSString * const BarStr = @"bar";