如何在两个视图控制器之间传递字符串或数据对象?

时间:2010-05-24 18:04:29

标签: ios iphone string path uinavigationcontroller

在我的上一个问题中,我问过如何最好地将字符串从一个视图控制器发送到另一个视图控制器,这两个视图控制器都在导航堆栈上 Pass string from tableviewcontroller to viewcontroller in navigation stack

但是我刚刚意识到我可以将路径传递到应用程序文档文件夹中的文件,因为第一个(表视图)已经访问了文件中的数据,我是否应该将数据传递给推送的VC?

2 个答案:

答案 0 :(得分:1)

传递引用比在子视图控制器中重新初始化新对象的开销要小。

NSString实例的子视图控制器中设置retain property

在父视图控制器中,实例化子视图控制器并将其字符串属性设置为等于要传递它的字符串:

childViewController.myStringProperty = parentViewControllerString;

由于这会增加字符串的retain计数,因此您不会重新创建对象,只需保留对它的引用。

如果您愿意,可以保留NSData个实例。这比在子v.c中重新创建它更少。

答案 1 :(得分:0)

我的第一个想法是你应该将NSData对象传递给推送的视图控制器。如果它不是太大,它将使您无法再次加载它。