Известно, что для того что бы создать extern константу (например типа NSString *) необходимо сделать два шага:
— в .h файле объявить константуextern NSString *const kMyConst;
— в .m файле присвоить ей значениеNSString *const kMyConst = @"kMyConst";
То, что приходится два раза писать примерно одно и тоже это нормально, если у вас немного подобных констант.
Когда я столкнулся с необходимостью объявления около 30 констант, я решил придумать что нибудь более красивое. По итогу вышла трех-файловая реализация.Constants.h#define def_key(name) extern NSString *const name
#define def_int(name, value) extern int const name
#define def_type(type, name, value) extern type const name
#include "ConstantsDefs.h"Constants.m#import "Constants.h"
Читать полностью »
