我正在尝试将CFUUIDRef转换为NSString *。
之前,我使用了以下代码,并且工作正常。
CFStringRef str = CFUUIDCreateString(NULL, _uuid); # _uuid is of type CFUUIDRef
return (__bridge NSString *) str;
然而,在最近更新Xcode(或其他我没注意到的事情?)之后,上面的代码给了我错误:
使用未声明的标识符'__bridge'
我做错了什么?我怎么能解决它?
===更新===
完整代码:
+ (NSString *)uuidToString:(CFUUIDRef)_uuid {
CFStringRef str = CFUUIDCreateString(NULL, _uuid); # _uuid is of type CFUUIDRef
return (__bridge NSString *) str;
}
uuid由以下人员生成:
uuid = CFUUIDCreate(NULL);
答案 0 :(得分:20)
__bridge
仅在启用ARC(自动引用计数)时定义。它用于“将对象传入和传出ARC控件”。 (Source)
要启用ARC,请转到构建设置并将Objective-C Automatic Reference Counting
设置为Yes
。
或者,如果您不想使用ARC,只需删除__bridge
,它就可以正常工作。