从常量CFStringRef创建常量NSString

时间:2009-12-22 11:55:00

标签: nsstring constants cfstring

我正在尝试创建一个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 *aConstant = @"someStringLiteral"在Constants.m中使用NSString成功声明了常量值,但在这种情况下,我希望与CFStringRef具有相同的值,我不能忽略。

1 个答案:

答案 0 :(得分:0)

你试过了吗?

NSString * myconstant = (NSString *)constantName;

您可以在此处找到相同的答案:How to convert CFStringRef to NSString?并在那里:CocoaDev: CFStringRef

苹果确实已经解决了你的问题。这称为Toll Free Bridging