Ios 如何在UIPageViewController和子对象之间正确传递对象

Ios 如何在UIPageViewController和子对象之间正确传递对象,ios,ios6,uiviewcontroller,ios7,uipageviewcontroller,Ios,Ios6,Uiviewcontroller,Ios7,Uipageviewcontroller,我有一个PFObject(来自Parse.com),它作为属性加载到我的UIPageViewController上 页面VC由两个子控制器设置。两者都需要访问UIPageViewController上保存的对象 由于对象相当大,我觉得如果每个控制器都持有同一个对象,效果就不是最好了。最好的方法是什么 目前只有UIPageViewController具有该对象。我可以毫无问题地在其他两个控制器上设置相同的属性,但是我有三个对同一对象的引用。是否有一种方法可以将引用保存在一个地方/VC并从其他地方链

我有一个PFObject(来自Parse.com),它作为属性加载到我的UIPageViewController上

页面VC由两个子控制器设置。两者都需要访问UIPageViewController上保存的对象

由于对象相当大,我觉得如果每个控制器都持有同一个对象,效果就不是最好了。最好的方法是什么

目前只有UIPageViewController具有该对象。我可以毫无问题地在其他两个控制器上设置相同的属性,但是我有三个对同一对象的引用。是否有一种方法可以将引用保存在一个地方/VC并从其他地方链接到它

示例2(编辑)
例如,如果我有一个具有根控制器的导航控制器。
根视图控制器下载我有疑问的PFObject

如果随后将对象传递给下一个控制器,请执行以下操作:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    [super prepareForSegue:segue sender:sender];

    NextViewController *VC = segue.destinationViewController;
    VC.passedObject = self.downloadedObject;
}
上述情况是否意味着我正在将对象的引用传递给新控制器?或者我实际上是在下一个控制器上重新创建对象


因此,如果我对导航控制器堆栈上的一组10-15个控制器重复上述步骤。我是对同一个对象创建了10-15个引用(已经只创建了一次),还是每次我将它传递给VC时都会重新创建它。因此,同一对象有10-15个副本。

您似乎对对象和指针的工作方式有不准确的了解。正如您所说,您将有三个对同一对象的引用。您不会创建同一对象及其包含的所有数据的三个副本。你的担心似乎毫无根据,除非有其他方面

您可以使用委托模式,以便您的孩子可以引用UIPageViewController并可以引用其属性。谢谢,我认为您是对的。你能确认我对这个问题的进一步编辑吗?这进一步解释了我的想法。你能确认吗?你通常只在调用对象上的
copy
方法或将其传递给定义为使用
copy
的属性时创建对象的完整副本。在大多数情况下,您只是传递对同一对象的引用,而每个收件人都保留该对象,以确保该对象未被解除分配。这是有效的,但如果对象是可变的,则可能会出现问题。无论如何,不要相信我的话,你自己去试验吧。在调试器中打印或检查这些对象引用的值,并查看哪些对象引用指向相同的内存地址。