我正在开发我的第一个真正的 Core Data 应用程序,并且已经能够使用 segues 在整个应用程序中成功地将指针传递到我的 managedObjectContext
实例。然而,我遇到了一个问题,因为我正处于一个十字路口,我需要将我的 managedObjectContext
传递到一个函数中。
问题
因为函数是按值传递的 default ,我假设我将制作我的 managedObjectContext 实例的副本,因此可能会破坏将原始指针传递到我的 managedObjectContext 实例的目的。
我应该使用 inout
修饰符来避免创建我的 managedObjectContext 的副本吗?
最佳答案
NSManagedObjectContext
是一个类,因此是一个引用类型。引用类型不需要通过 inout
来共享实例。为引用类型传递的“值”是指向它们的指针。
在从 ObjC 到 Swift 的过渡过程中丢失的一件事(IMO)是引用类型不再有任何指示符。在 ObjC 中,您可以通过类型中的 *
来识别它们。在 Swift 中,您只需知道哪些是哪些。
关于ios - 将 NSManagedObjectContext 传递给函数时使用 inout 关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37191948/