我试图在我的Model类上调用save
函数,但是即使它适用于1.2,它会在2.1中抛出此错误:
Argument passed to call that takes no arguments
func save() -> NSError?{
var error: NSError?
self.context?.save(error) // Error: Argument passed to call that takes no arguments
return error
}
编辑:
我将代码转换为:
func save() -> NSError?{
do {
try context!.save()
} catch let error as NSError? {
print("error saving core data: \(error)")
}
}
...但现在我收到了:
Missing return in a function expected to return 'NSError?'
答案 0 :(得分:2)
在swift 2.0中,context.save函数的实现根据新的错误处理而改变了!
将其更改为
do{
try context!.save()
}catch let error as NSError{
print("error saving core data: \(error)")
}
答案 1 :(得分:1)
func save() -> NSError?{
do {
if let context = context {
try context.save()
}
} catch let error as NSError? {
print("error saving core data: \(error)")
return error
}
return nil
}
答案 2 :(得分:0)
我不知道这个方法或子类,但您可以尝试使用错误变量的指针。
self.context?.save(&error)