Swift 和'&';接线员:你在斯威夫特干什么?

Swift 和'&';接线员:你在斯威夫特干什么?,swift,Swift,操作员在swift中做什么?如下面的错误参数示例所示。谢谢 DataManager.getTopAppsDataFromFileWithSuccess { (data) -> Void in // Get the number 1 app using optional binding and NSJSONSerialization //1 var parseError: NSError? let parsedObject: AnyObject? = NSJSONSerial

操作员在swift中做什么?如下面的错误参数示例所示。谢谢

DataManager.getTopAppsDataFromFileWithSuccess { (data) -> Void in
  // Get the number 1 app using optional binding and NSJSONSerialization
  //1
  var parseError: NSError?
  let parsedObject: AnyObject? = NSJSONSerialization.JSONObjectWithData(data,
    options: NSJSONReadingOptions.AllowFragments,
    error:&parseError)

}

它传递
parseError
变量的地址,以便通过间接方式进行设置。但在Swift 2.0中,您不会在这种情况下使用它;您将使用
试试


只能将变量作为输入输出参数的参数传递。不能将常量或文字值作为参数传递,因为无法修改常量和文字。当您将变量作为参数传递给inout参数时,在变量名称前直接放置一个符号(&),以表示该变量可以被函数修改。

苹果的文档似乎回避了一个事实,即&运算符将指针传递给变量而不是变量本身(通过引用而不是值传递)。我得到的印象是,他们不想让我们认为这是一个传球,即使这是正在发生的事情。(对于那些使用C语言的人来说,很明显这就是正在发生的事情。)