我不是问如何将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
