2010-05-07 3 views
0

"CFDataRef에 문제가 있습니다. "kCFSocketDataCallBack "에서"data "필드를 받았습니다. "data"는 소켓에서 수신 된 문자열과 일치해야합니다. 예를 들어 텍스트를 텍스트 상자에 넣을 수 있도록 NSString에서 어떻게 변환합니까 ?? "CFDataRef"에 문제가 있습니다.

당신에게 대단히 감사합니다

static void 
AcceptDataCallback(CFSocketRef s, 
CFSocketCallBackType type, CFDataRef 
address, const void *data, void *info) 
{ 

//my code for the textBox 

} 

답변

2

당신 먼저 캐스트을 NSData로 변환을 시도 할 수 :

NSString * someString = [[NSString alloc] initWithData:someData encoding:NSASCIIStringEncoding]; 

를 또는 그것을 :

NSData * someData = (NSData*)address; 

그리고있는 NSString에있는 NSData로 변환 한 번에 :

NSString * someString = [[NSString alloc] initWithData:(NSData*)address encoding:NSASCIIStringEncoding]; 

인코딩이 엉망이 될 수도 있습니다.

+0

NSString이 있고 CFDataRef에 저장해야합니다. ??? – zp26

+0

NSString * myString = @ "내 문자열"; CFDataRef myDataRef = (CFDataRef) [myString dataUsingEncoding : NSASCIIStringEncoding]; –