簡體   English   中英

xcode 上未聲明的標識符 __bridge

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM