我需要在iPad应用程序中绘制一些图形,所以我遵循了本教程:
http://recycled-parts.blogspot.com/2011/07/setting-up-coreplot-in-xcode-4.html
在其中,我不得不将我的C/C++/Objective-C编译器更改为LLVM GCC 4.2。(最初是Apple LLVM编译器3.0)
现在,我无法将CFStringRef强制转换为NSString(_bridge)。我得到以下错误:
'_bridge' undeclared (first use in a function)
有人能帮我解决这个问题吗??谢谢
关键字__bridge
有两个前导下划线。
猜测你的代码这可能与你想要的类似:
CFStringRef cf = CFSTR("test");
NSString *ns = (__bridge_transfer NSString *)cf;
(给定常量字符串,这是一个简单的例子)
CocoaFu发现了一个问题。
另一个问题是GCC+LLVM不支持ARC——自2011年夏天以来只有Clang版本支持ARC。桥接铸造补充了ARC。
如果您需要GCC,您将需要在程序中添加手动引用计数,或者您可以将内容移动到单独的文件中,以获得ARC/MRC差异。或者你可以使用依赖库的早期版本,如果它们需要ARC的话。或者。。。(更多选项)