我不是问如何将NSErrorPointer传递给函数,而是如何接收它并使用它.我找不到任何关于此的文件.像这样的东西:
func doSomething(error: NSErrorPointer) { error = NSError(...); }
上面的代码给出了
Cannot assign to ‘let’ value ‘error’
解决方法
如果查看标题,可以看到NSErrorPointer是:
typealias NSErrorPointer = AutoreleasingUnsafePointer<NSError?>
这是:
struct AutoreleasingUnsafePointer<T> : Equatable,LogicValue { func getLogicValue() -> Bool /// Access the underlying raw memory,getting and /// setting values. var memory: T }
所以你必须检查逻辑值,然后设置内存,如下所示:
if error != nil { error.memory = NSError(...) }