【发布时间】:2009-12-22 11:55:00
【问题描述】:
我正在尝试创建一个 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 *aConstant = @"someStringLiteral" 成功地使用 NSString 声明常量值,但在这种情况下,我希望拥有与 CFStringRefs 相同的值,我不能忽略。
【问题讨论】:
标签: nsstring constants cfstring