Saving to iOS managed object context
我有以下代码将实体保存到托管对象上下文。
1 2 3 4 5 6 7 | NSError *savingError = nil; if ([self.managedObjectContext save:&savingError]) { NSLog(@"Successfully saved the context."); } else { NSLog(@"Failed to save the context. Error = %@", savingError); } |
根据我的文档,我了解以下内容:在将新实体插入到上下文中之后,我们必须保存上下文。 这会将上下文中所有未保存的数据刷新到持久性存储中。 我们可以使用托管对象上下文的
我不清楚的是
1 | *error = [NSError errorWithDomain:...] |
然后在您的代码中,
这是C语言中非常常见的编程样式,用于模拟具有多个返回值。像这样的参数(指向值的指针,您在其中传递变量的地址,然后函数将其填充)通常称为"输出参数"或"输出参数"。
&表示对象的地址。当我们将对象传递给方法时,该对象的副本已传递给它。在该方法中对该对象所做的任何更改,都不会影响与方法调用一起使用的对象。
当使用&时,实际上我们传递了对象的地址,因此我们对该方法中的对象所做的任何更改都将影响在方法调用中用作参数的对象。
在
1 | [savingError localizedDescription]; |
看一下:为什么在某些方法参数前面加上"&"(与号)?
简而言之:您需要将一个指针传递给NSError指针,因此