1

如果这是一个非常基本的问题,请多多包涵。我尝试使用 __bridge 将 CFStringRef 转换为 NSString,因为我启用了 ARC。

mydevUUIDString = CFUUIDCreateString(NULL, peripheral.UUID);
 NSString *temp = (__bridge NSString *) devUUIDString;

我仍然收到以下错误:

 Incompatible type casting 'CFStringRef' (aka 'const struct __CFString  **) to 'NSString' with _bridge cast.

请教,如何解决这个问题。

4

1 回答 1

8

我认为问题在于,当您创建时mydevUUIDString,您将其创建为指向 CFStringRef 的指针。例如,当我输入以下代码时,Xcode 没有给我任何错误:

CFStringRef mydevUUIDString = NULL;
NSString *temp = (__bridge NSString *)(mydevUUIDString); 

但是,当我输入此代码时(这很可能是您所做的):

CFStringRef *mydevUUIDString = NULL;
NSString *temp = (__bridge NSString *)(mydevUUIDString);

我得到与您相同的错误:

不兼容的类型转换 'CFStringRef' (又名 'const struct __CFString **) 到 'NSString' 与 _bridge 转换。

于 2012-08-28T08:56:10.437 回答