将 NSManagedObjectContext 传递给函数时使用 inout 关键字?

Use the inout keyword when passing an NSManagedObjectContext into a function?

我正在开发我的第一个真正的核心数据应用程序,并且已经能够使用 segues 在我的整个应用程序中成功地将指针传递到我的 managedObjectContext 实例。我 运行 遇到了一个问题,但是因为我正处于十字路口,我需要将我的 managedObjectContext 传递给函数 .

问题

由于函数是按值传递的 default,我假设我会制作 我的 managedObjectContext 实例的一个副本 从而可能击败将原始指针传递给我的 managedObjectContext 实例的目的。

我应该使用 inout 修饰符来避免创建我的 managedObjectContext 的副本吗?

NSManagedObjectContext 是 class,因此是引用类型。引用类型不需要通过 inout 来共享实例。为引用类型传递的 "value" 是指向它们的指针。

在从 ObjC 到 Swift 的过渡过程中丢失的一件事(IMO)是引用类型不再有任何指示符。在 ObjC 中,您可以通过类型中的 * 来识别它们。在Swift,你只需要知道哪个是哪个。