为什么PKPass采用错误指针?

Khe*_*dar 9 ios passkit swift

根据Apple的文档,在Swift中初始化PKPass需要两个元素,Pass数据和错误指针.

init(data data: NSData,
error error: NSErrorPointer)
Run Code Online (Sandbox Code Playgroud)

根据Apple的Swift文档,错误处理段落,

在Cocoa中,产生错误的方法将NSError指针参数作为其最后一个参数,如果发生错误,该参数将使用NSError对象填充其参数.Swift会自动将产生错误的Objective-C方法转换为根据Swift的本机错误处理功能引发错误的方法.

但有一个说明:

消耗错误的方法(例如使用NSError对象参数获取完成处理程序的委托方法或方法)不会成为Swift导入时抛出的方法.

由于该方法似乎并不消耗,而是在需要时使用指针设置错误,这似乎违背了Apple对错误处理的解释.我期待更多的代码:

  do {
      let modifiedPass : PKPass = try PKPass(data: data)
     } catch let errorCaught as NSError
     {
        print("Error: \(errorCaught.domain)")
    }
Run Code Online (Sandbox Code Playgroud)

我可悲的误解是什么,或者可能是什么原因造成这种明显的不匹配?