से अस्वीकृत है, मैं CFStreamCreatePairWithSocketToHost
NSInput
और OutputStream
एस के साथ उपयोग करना चाहता हूं। मेरे पास दो ivars NSInputStream *_inputStream
और NSOutputStream *_outputStream
हैं।'सीएफआरडस्ट्रीम रीफ *' के लिए एक उद्देश्य-सी सूचक में एक अप्रत्यक्ष सूचक का कास्ट एआरसी
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 सुनिश्चित नहीं है - मैंने आज तक एआरसी के साथ अधिक समय नहीं बिताया है। इसे लपेटो! :) – justin
@WTP: यह भूलें कि फ़ंक्शन _inputStream और _outputStream की पिछली सामग्री को अपने स्वयं के नए CRStreamRefs के साथ ज़ैप करेगा, ताकि आप उन्हें CFStreamRefs भी बना सकें। – JeremyP