gpt4 book ai didi

objective-c - xcode 上未声明的标识符 __bridge

转载 作者:行者123 更新时间:2023-11-28 17:34:51 24 4
gpt4 key购买 nike

我正在尝试将 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);

最佳答案

__bridge 仅在启用 ARC(自动引用计数)的情况下定义。它用于“将对象传入和传出 ARC 控制”。 ( Source )

要打开 ARC,请转到build设置并将 Objective-C Automatic Reference Counting 设置为 Yes

或者,如果您不想使用 ARC,只需删除 __bridge,它应该可以正常工作。

关于objective-c - xcode 上未声明的标识符 __bridge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10109646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com