В моем проекте target-c у меня есть протокол, подобный следующему:
@protocol MyProtocol
-(id) get:(NSString *) key;
-(void) set:(NSString *) key withValue:(id) value;
-(NSValue *) getSize;
-(void) setSize:(NSValue *) value;
-(NSValue *) getBounds;
-(void) setBounds:(NSValue *) value;
@end
OBJC_EXPORT const NSString *MYPROTOCOL_SIZE;
OBJC_EXPORT const NSString *MYPROTOCOL_BOUNDS;
И в основном эти конкретные методы (getSize
, getBounds
, setSize
, setBounds
)Предполагается, что значение, которое предполагается хранить в MYPROTOCOL_SIZE
и MYPROTOCOL_BOUNDS
, соответственно.
Однако я не могу найти эффективный способ задания этих константных строк, объединяя результаты других методов, потому что этовыдает ошибку: initializer element is not constant
, когда я пытаюсь установить их напрямую.Есть ли способ, которым я могу гарантировать, что объекты всегда будут инициализированы.(например, в методе load
классов), без необходимости вручную вызывать код при запуске моей программы?