Двоичный оператор '&&' не может применяться к двум операндам Bool

Недавно я обновил Xcode до новой бета-версии 7.0.

Я сделал переход с помощником, но есть еще несколько проблем.

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

В строке 4 есть 4 вопроса: первый из них:

Двоичный оператор && не может применяться к двум операндам Bool

второй:

Вызов может вызывать, но он не отмечен "try", и ошибка не обрабатывается.

Может кто-нибудь мне помочь?

Ответ 1

Вот какой код, который должен сделать трюк. Помните, чтобы преследовать высказывания с помощью try и поймать их.

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