如何接收和使用NSErrorPointer

3

我不是在问如何将NSErrorPointer传递给函数,而是如何接收并使用它。我找不到任何关于这个的文档。类似于这样:

func doSomething(error: NSErrorPointer) {
    error = NSError(...);
}

上面的代码出现了以下错误:

无法将“error”分配给“let”值


2
我完全找不到这方面的任何文件,那么你真的真的真的需要学会如何使用谷歌。它就在第一页上,也就是苹果开发者官方文档:链接 - The Paramagnetic Croissant
这是我得到的页面:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithCAPIs.html - André Fratelli
1个回答

7
如果您查看标题,您可以看到NSErrorPointer是:
typealias NSErrorPointer = AutoreleasingUnsafePointer<NSError?>

Which is:

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(...)
}

这里也提到了:采用Cocoa设计模式

。该链接介绍了如何在使用Swift编写应用程序时采用Cocoa设计模式。


我明白了。这不是我见过的最好的文档页面标题。我永远不会想到那里去找。谢谢。 - André Fratelli
这是我在谷歌上搜索“set NSErrorPointer value”时得到的第一个链接... 此外,通过命令单击“NSErrorPointer”,您可以访问我粘贴的声明。 - slazyk
1
这是我第一个到达的页面,但它似乎不是我要找的...我一定跳过了它。即使现在,我仍然认为他们本可以选择一个更好的位置... - André Fratelli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接