我不是问如何将NSErrorPointer传递给函数,而是如何接收它并使用它.我找不到任何关于此的文件.像这样的东西: func doSomething(error: NSErrorPointer) { error = NSError(...);} 上面的代码给出了 Cannot
func doSomething(error: NSErrorPointer) { error = NSError(...); }
上面的代码给出了
如果查看标题,可以看到NSErrorPointer是:Cannot assign to ‘let’ value ‘error’
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(...) }
这里也提到:Adopting Cocoa Design Patterns