2012-08-28 2 views
0

아주 기본적인 질문이 있으면 친절하게 답해주십시오. ARC를 사용하도록 설정 한 것처럼 __bridge를 사용하여 CFStringRef를 NSString으로 변환하려고했습니다.__bridge를 사용하여 CFStringRef를 NSString으로 변환 할 수 없습니다.

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

친절하게 조언이 문제를 해결하는 방법 :

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

난 여전히 다음과 같은 오류를 받고 있어요.

+1

실제 코드를 입력하십시오. 위의 코드 스 니펫은 컴파일되지 않습니다 (예 : 변수의 스 니펫에 다른 이름이 있음). –

+2

두 변수 모두'mydevUUIDString' /'devUUIDString' 변수를 사용합니다. –

+0

코드 샘플이 불완전합니다. devUUIDString은 어디에 정의되고 할당됩니까? –

답변

7

나는이 문제가 mydevUUIDString을 만들 때 CFStringRef에 대한 포인터로 생성한다고 생각합니다. 나는 다음과 같은 코드를 입력 할 때 예를 들어, 엑스 코드는 나에게 오류 제공하지 않습니다 :

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

I : 그러나

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

을, 나는 (가장 가능성이 당신이 무슨 짓을했는지입니다)이 코드를 입력 할 때 같은 오류가 발생하십시오 :

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

관련 문제