将数据从VC1传递到VC4

时间:2014-02-18 20:30:14

标签: ios objective-c properties uinavigationcontroller

我有一个关于数据管理的基本问题。如果我想使用VC1VC4的数据,即使他们没有使用数据,我是否需要通过VC2VC3传递数据?

我正在使用navigationController,现在我有以下情况:在VC4中,我将与webserver建立连接,以根据用户选择的内容检索某些数据VC1

我在propertiesheaderVC2的{​​{1}}个文件中声明了VC3

VC4

现在,我使用@property (strong, nonatomic) NSString *myString方法传递此@property,因为我正在使用prepareForSegue。基本上,它们在storyboardsVC1VC2上看起来像这样:

VC3

现在,这对我来说很好,我只是想确保这是一个很好的编程实践,如果没有更好的方法来做到这一点。特别是当我们拥有大量数据时,因为并非总是只传递简单的-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([segue.identifier isEqualToString:@"mySegue"]) { NextVC *next = (NextVC*)segue.destinationViewController; next.myString = self.myString; } } 。我只关心将NSStrings分配给我不使用的对象,无论大小如何。

1 个答案:

答案 0 :(得分:1)

你的方法是正确的。

或者,您始终可以使用 viewControllers UINavigationController 属性。

您可以通过致电:

VC1访问VC4
UIViewController *vc1 = self.navigationController.viewControllers[0];

然后访问您需要的VC1数据。