CFStreamCreatePairWithSocketToHost
을 NSInput
- 및 OutputStream
과 함께 사용하고 싶습니다. 나는 두 개의 ivars NSInputStream *_inputStream
과 NSOutputStream *_outputStream
을 가지고있다. 'CFReadStreamRef *'에 대한 Objective-C 포인터에 대한 간접 포인터의 캐스트가 ARC와 함께 허용되지 않습니다.
CFStreamCreatePairWithSocketToHost(NULL,
(__bridge_retained CFStringRef)self.hostname, self.port,
(CFReadStreamRef *)&_inputStream, (CFWriteStreamRef *)&_outputStream);
가 어떻게이 문제를 해결할 것입니다 :error: cast of an indirect pointer to an Objective-C pointer to '
CFReadStreamRef *
' (aka 'struct __CFReadStream **
') is disallowed with ARC
error: cast of an indirect pointer to an Objective-C pointer to 'CFWriteStreamRef *
' (aka 'struct __CFWriteStream **
') is disallowed with ARC
다음은 나에게 두 오류 메시지를 준다? __bridge
을 사용해 보았지만 비슷한 오류 메시지가 나타납니다.
이렇게하는 유일한 방법입니까? –
@WTP 잘 모름 - 현재까지 ARC와 많은 시간을 보내지 않았습니다. 싸다! :) – justin
@WTP : 함수가 _inputStream 및 _outputStream의 이전 내용을 자체의 새로운 CRStreamRef로 압축하므로 CFStreamRefs로 만들 수 있음을 잊지 마십시오. – JeremyP