[英]Undeclared identifier __bridge on xcode
我正在嘗試將 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 控制”。 ( 來源)
要打開 ARC,將 go 設置為您的構建設置,並將Objective-C Automatic Reference Counting
設置為Yes
。
或者,如果您不想使用 ARC,只需刪除__bridge
即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.