如果这是一个非常基本的问题,请承担责任。我尝试使用__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.
请咨询,如何解决此问题。
答案 0 :(得分:7)
我认为问题在于,当您创建mydevUUIDString
时,您将其创建为指向CFStringRef的指针。例如,当我输入以下代码时,Xcode没有给我任何错误:
CFStringRef mydevUUIDString = NULL;
NSString *temp = (__bridge NSString *)(mydevUUIDString);
但是,当我输入此代码时(很可能是你所做的):
CFStringRef *mydevUUIDString = NULL;
NSString *temp = (__bridge NSString *)(mydevUUIDString);
我得到同样的错误:
使用_bridge强制类型将'CFStringRef'(又名'const struct __CFString **')转换为'NSString'。