Quiero usar CFStreamCreatePairWithSocketToHost
con NSInput
y OutputStream
s. Tengo dos ivars NSInputStream *_inputStream
y NSOutputStream *_outputStream
.Se rechaza la conversión de un puntero indirecto a un puntero de Objective-C a 'CFReadStreamRef *' con ARC
El siguiente me da dos mensajes de error:
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
¿Cómo puedo solucionar esto? Intenté usar __bridge
pero recibí mensajes de error similares.
¿Es esta la única manera de hacer esto? –
@WTP No estoy seguro - No he pasado mucho tiempo con ARC hasta la fecha. ¡Envolverlo! :) – justin
@WTP: no olvide que la función eliminará el contenido anterior de _inputStream y _outputStream con sus propios CRStreamRefs, por lo que podría hacerlos CFStreamRefs. – JeremyP