6 objective-c core-foundation multiple-indirection foundation automatic-ref-counting
我想CFStreamCreatePairWithSocketToHost用NSInput- 和OutputStreams.我有两个伊娃NSInputStream *_inputStream和NSOutputStream *_outputStream.
以下给出了两条错误消息:
CFStreamCreatePairWithSocketToHost(NULL,
(__bridge_retained CFStringRef)self.hostname, self.port,
(CFReadStreamRef *)&_inputStream, (CFWriteStreamRef *)&_outputStream);
Run Code Online (Sandbox Code Playgroud)
错误:一个间接指针的浇铸到一个Objective-C指针"
CFReadStreamRef *"(又名"struct __CFReadStream **')是不允许与ARC
错误:一个间接指针的浇铸到一个Objective-C指针’CFWriteStreamRef *"(又名"struct __CFWriteStream **")是不允许的同ARC
我该如何解决这个问题?我试过使用__bridge但是我得到了类似的错误消息.
传递一个指向实际CFReadStreamRef和CFWriteStreamRef变量的指针,然后在分配给你的 NSTypes 时进行强制转换。基本上:
CFThingRef cfThing = NULL;
CFFunctionGetThing(&cfThing);
NSThing * nsThing = cfThing;
Run Code Online (Sandbox Code Playgroud)
当然,您必须添加适当的桥接转换并为cfThing.
| 归档时间: |
|
| 查看次数: |
2152 次 |
| 最近记录: |