How to pass an error pointer in the Swift language?
Solution 1:
You just pass a reference like so:
var error: NSError?
var results = context.executeFetchRequest(request, error: &error)
if error != nil {
println("Error executing request for entity \(entity)")
}
Two important points here:
-
NSError?
is an optional (and initialized tonil
) - you pass by reference using the
&
operator (e.g.,&error
)
See: Using swift with cocoa and objective-c
Solution 2:
This suggestion is up for discussion, but some engineers would prefer to use the golden path syntax:
var maybeError: NSError?
if let results = context.executeFetchRequest(request, error: &maybeError) {
// Work with results
} else if let error = maybeError {
// Handle the error
}