我试图在swift中传递一个错误指针,但我无法这样做.编译器抱怨"NSError不能转换为'NSErrorPointer'".
var error: NSError = NSError()
var results = context.executeFetchRequest(request, error: error)
if(error != nil)
{
println("Error executing request for entity \(entity)")
}
Run Code Online (Sandbox Code Playgroud)
Jia*_*aro 99
你只需传递一个引用:
var error: NSError?
var results = context.executeFetchRequest(request, error: &error)
if error != nil {
println("Error executing request for entity \(entity)")
}
Run Code Online (Sandbox Code Playgroud)
这里有两个要点:
NSError?是可选的(并初始化为nil)&运算符(例如&error)pxp*_*ics 10
这个建议值得讨论,但有些工程师更喜欢使用黄金路径语法:
var maybeError: NSError?
if let results = context.executeFetchRequest(request, error: &maybeError) {
// Work with results
} else if let error = maybeError {
// Handle the error
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22239 次 |
| 最近记录: |