我正在尝试创建一个 Cocoa 框架,它是一个面向对象的包装器,围绕着用 Core Foundation 编写的程序框架。程序框架有许多常量,它们都被定义为extern CFStringRef constantName
.
我应该如何创建直接映射到过程常量的 NSString 常量,以便在我的框架中我可以简单地将 NSString 常量转换为框架内的 CFStringRef 常量,这样使用我的框架的开发人员就不需要知道自己的转换。
我尝试过的每一件事都会导致编译器错误Initializer element is not constant
。这是我想使用的模式:
常量.h:
extern NSString * myConstant
常数.m:
#import "Constants.h"
NSString *myConstant = ConstantFromCFStringRef;
我在 Constants.m 中使用 NSString 成功地声明了常量值,但在这种情况下,我希望具有与我不能忽略NSString *aConstant = @"someStringLiteral"
的 s 相同的值。CFStringRef