метод save()
не принимает никаких параметров, поэтому использование nil
в качестве параметра является как излишним и недействительным. Кроме того, при вызове метода сохранения, он имеет возможность бросать ошибку, так что вы должны запрограммировать функцию для обработки, что возможная ошибка, например, так:
func saveManagedObjectContext(managedObjectContext:NSManagedObjectContext)->Bool {
do {
try managedObjectContext.save()
return true
} catch {
return false
}
}
Если у вас есть конкретные ошибки, которые вы хотите, чтобы поймать, синтаксис записывается следующим образом:
catch [errorNameHere] {
[codeToRun]
}
и если вы хотите, чтобы поймать несколько ошибок и запустить соответствующий код, вы можете написать следующее:
catch [errorNameHere] {
[codeToRun]
} catch [anotherErrorNameHere] {
[codeToRun]
} catch {
[defaultCodeToRun] /* if no errors are thrown that were written above, but
there is an error thrown, this default catch block will handle it. If there
is no catch block to handle an error thrown and no default catch block, the
compiler will simply exit without having run anything. */
}
вы можете прочитать все об ошибке ч andling in Swift Documentation here.
'класс func' является допустимым кодом. Он объявляет функцию типа вместо экземпляра. – dan
@dan Ну ладно. Я исправлю это. Благодарю. – liamnickell