我有一个关于数据管理的基本问题。如果我想使用VC1
中VC4
的数据,即使他们没有使用数据,我是否需要通过VC2
和VC3
传递数据?
我正在使用navigationController
,现在我有以下情况:在VC4
中,我将与webserver
建立连接,以根据用户选择的内容检索某些数据VC1
。
我在properties
,header
和VC2
的{{1}}个文件中声明了VC3
。
VC4
。
现在,我使用@property (strong, nonatomic) NSString *myString
方法传递此@property
,因为我正在使用prepareForSegue
。基本上,它们在storyboards
,VC1
和VC2
上看起来像这样:
VC3
现在,这对我来说很好,我只是想确保这是一个很好的编程实践,如果没有更好的方法来做到这一点。特别是当我们拥有大量数据时,因为并非总是只传递简单的-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"mySegue"]) {
NextVC *next = (NextVC*)segue.destinationViewController;
next.myString = self.myString;
}
}
。我只关心将NSStrings
分配给我不使用的对象,无论大小如何。
答案 0 :(得分:1)
你的方法是正确的。
或者,您始终可以使用 viewControllers
的 UINavigationController
属性。
您可以通过致电:
从VC1
访问VC4
UIViewController *vc1 = self.navigationController.viewControllers[0];
然后访问您需要的VC1
数据。