Binary operator '&&' cannot be applied to two Bool operands

4.5k Views Asked by At

I recently updated Xcode to the new 7.0 beta.

I did the migration with the assistant but there are a few more issues.

func saveContext () {
    if let moc = self.managedObjectContext {
        var error: NSError? = nil
        if moc.hasChanges && !moc.save() {
            NSLog("Unresolved error \(error), \(error!.userInfo)")
            abort()
        }
    }
}

On line 4 there are 4 issues: the first one is:

Binary operator '&&' cannot be applied to two Bool operands

the second one is:

Call can throw, but it is not marked with 'try' and the error is not handled

Can someone please help me?

1

There are 1 best solutions below

6
On BEST ANSWER

Here is some code that should do the trick. Remember to preceed throw statements with try and catch them.

func saveContext () {
    if let moc = self.managedObjectContext {
        if moc.hasChanges  {
            do {
                try moc.save()
            } catch {
                NSLog("Unresolved error \(error)")
                abort()
            }
        }
    }
}