Swift无法转换表达式';s型&x27;无效';输入';绳子';

Swift无法转换表达式';s型&x27;无效';输入';绳子';,swift,Swift,我试图使用一段示例代码,大约在页面的一半 var inputStream: NSInputStream var outputStream: NSOutputStream NSStream.getStreamsToHostWithName(hostname: "nshipster.com", port: 5432, inputStream: &inpu

我试图使用一段示例代码,大约在页面的一半

var inputStream: NSInputStream
var outputStream: NSOutputStream

NSStream.getStreamsToHostWithName(hostname: "nshipster.com",
                                      port: 5432,
                               inputStream: &inputStream,
                              outputStream: &outputStream)
我把它和导入基础一起放在操场上,得到了这个错误

Playground execution failed: error: <REPL>:6:10: error: cannot convert the expression's type 'Void' to type 'String!'
NSStream.getStreamsToHostWithName(hostname: "nshipster.com",
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
现在错误指示第三个参数,可能对前两个参数感到满意

Playground execution failed: error: <REPL>:10:18: error: cannot convert the expression's type 'Void' to type 'inout NSInputStream'
inputStream: &inputStream,
             ^~~~~~~~~~~~
执行失败:错误::10:18:错误:无法将表达式的类型“Void”转换为类型“inout-NSInputStream”
inputStream:&inputStream,
^~~~~~~~~~~~
我不知道如何以相同的方式提取inputStream和outputStream的
AutoreleasingUnsafePointer
变量,但我认为原始示例代码应该可以工作。这是我(和马特)代码中的错误,还是Swift中的错误


编辑:我已经提交了一份包含正确的NSHipster代码的报告。

简单的回答是,你需要传递可选的,而不是非可选的(对于任何正在寻找inout对象的对象)


它说,它现在编译,但不运行,因为NSFrand显然没有GETStRoStudioWordNoSee方法(至少在我导入的基础上)不介意这个,它是一个IOS调用,所以它不适合于OSX设置的游乐场。将其设置为iOS似乎没问题。

谢谢,将类型更改为optionals并删除额外的
主机名:
指示器将修复此问题。使用文件检查器将游乐场设置为iOS会运行代码(尽管套接字显然没有连接,因为该端口上没有运行任何东西)。是的,一般来说,从CF或Cocoa返回的任何inout NSObject都是可选的。在OS X 10.10和iOS 8.0
+(void)getStreamsToHostWithName:(NSString*)中悄然添加主机名端口:(NSInteger)端口输入流:(NSInputStream**)输入流输出流:(NSOutputStream**)输出流NS\u可用(10\u 10,8\u 0)
Playground execution failed: error: <REPL>:10:18: error: cannot convert the expression's type 'Void' to type 'inout NSInputStream'
inputStream: &inputStream,
             ^~~~~~~~~~~~
var inputStream:NSInputStream?
var outputStream:NSOutputStream?

NSStream.getStreamsToHostWithName("nshipster.com", port: 5432, inputStream: &inputStream, outputStream: &outputStream)