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

时间:2016-05-12 15:56:23

标签: ios swift core-data nsmanagedobjectcontext inout

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

问题

由于函数是default传递的值,我假设我正在使用我的managedObjectContext实例的副本,因此可能会破坏传递原始文件的目的指向我的managedObjectContext实例的指针。

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

1 个答案:

答案 0 :(得分:3)

inout是一个类,因此是一个引用类型。不需要使用*传递引用类型来共享实例。为引用类型传递的“值”是指向它们的指针。

从ObjC到Swift的过渡中丢失的一件事(IMO)是参考类型不再有任何指标。在ObjC中,您可以通过其类型中的{{1}}来识别它们。在Swift中,你只需知道哪个是哪个。