Я пытаюсь создать Cocoa Framework, который представляет собой объектно-ориентированную оболочку вокруг процедурной структуры, написанной в Core Foundation. Процедурная структура имеет ряд констант, которые все определены как extern CFStringRef constantName
.
Как мне создать константы NSString, которые напрямую отображаются на процедурные константы, чтобы в моей структуре я мог просто привести константу NSString к константе CFStringRef в рамках такой среды, чтобы разработчику, использующему мою среду, не нужно было знать бросает себя.
Все, что я пробовал, приводит к ошибке компилятора Initializer element is not constant
. Это шаблон, который я хотел бы использовать:
Constants.h:
extern NSString * myConstant
Constants.m:
#import "Constants.h"
NSString *myConstant = ConstantFromCFStringRef;
Я успешно объявляю значения констант с помощью NSString в Constants.m, используя NSString *aConstant = @"someStringLiteral"
, но в этом случае я хочу иметь то же значение, что и CFStringRef
s, которые я не могу игнорировать.