Ios 无法转换表达式';s型&x27;无效';输入';CFAllocator';
为什么假设我将其类型更改为“CFAllocator!”。我试图更改输入值,但它总是出现相同的错误。解决了这个问题Ios 无法转换表达式';s型&x27;无效';输入';CFAllocator';,ios,xcode,core-foundation,swift,Ios,Xcode,Core Foundation,Swift,为什么假设我将其类型更改为“CFAllocator!”。我试图更改输入值,但它总是出现相同的错误。解决了这个问题 var readStream:CFReadStream? var writeStream:CFWriteStream? var request: NSMutableURLRequest = NSMutableURLRequest() var host = request.URL.host var port = request.URL.port.unsignedIntegerValu
var readStream:CFReadStream?
var writeStream:CFWriteStream?
var request: NSMutableURLRequest = NSMutableURLRequest()
var host = request.URL.host
var port = request.URL.port.unsignedIntegerValue
CFStreamCreatePairWithSocketToHost(nil, nil, port, readStream, writeStream)
^ "Cannot convert the expression's type Void to type CFAllocator!"
var-host:CFString=NSString(string:request.URL.host)
变量端口:UInt32=UInt32(request.URL.port.unsignedIntegerValue)
var readStream:非托管?
var writeStream:非托管?
CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault、主机、端口、读取流和写入流)
inputStream=readStream!。takeUnretainedValue()
outputStream=writeStream!。takeUnretainedValue()
输入流!。代表=自我
outputStream!。代表=自我
输入流!。scheduleInRunLoop(NSRunLoop.currentRunLoop(),格式:NSDefaultRunLoopMode)
outputStream!。scheduleInRunLoop(NSRunLoop.currentRunLoop(),格式:NSDefaultRunLoopMode)
输入流!。开()
outputStream!。开()
出现此错误的原因是,所有值都必须是“CreatePairWithSocket..”函数要求的确切类型。我做了一些研究,也发现这很有帮助。您未能将屏幕截图附加到帖子上。我没有足够的分数上载图片。请尝试将
kCFAllocatorDefault
作为第一个参数传递。只需尝试它不会改变任何内容尝试将CFAllocatorGetDefault()
作为第一个参数传递
var host: CFString = NSString(string: request.URL.host)
var port: UInt32 = UInt32(request.URL.port.unsignedIntegerValue)
var readStream: Unmanaged<CFReadStream>?
var writeStream: Unmanaged<CFWriteStream>?
CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, host, port, &readStream, &writeStream)
inputStream = readStream!.takeUnretainedValue()
outputStream = writeStream!.takeUnretainedValue()
inputStream!.delegate = self
outputStream!.delegate = self
inputStream!.scheduleInRunLoop(NSRunLoop.currentRunLoop(), forMode: NSDefaultRunLoopMode)
outputStream!.scheduleInRunLoop(NSRunLoop.currentRunLoop(), forMode: NSDefaultRunLoopMode)
inputStream!.open()
outputStream!.open()