Ios 将数据从VC1传递到VC4
我有一个关于数据管理的基本问题。如果我想在Ios 将数据从VC1传递到VC4,ios,objective-c,properties,uinavigationcontroller,Ios,Objective C,Properties,Uinavigationcontroller,我有一个关于数据管理的基本问题。如果我想在VC4中使用VC1中的数据,我是否需要通过VC2和VC3传递它们,即使它们不使用数据 我正在使用navigationController,现在我有以下场景:在VC4中,我将连接到webserver,根据用户在VC1中选择的内容检索一些数据 我在VC2、VC3和VC4的头文件上声明属性 @property(强,非原子)NSString*myString 现在,我使用prepareforsgue方法传递这个@property,因为我使用的是storyboar
VC4
中使用VC1
中的数据,我是否需要通过VC2
和VC3
传递它们,即使它们不使用数据
我正在使用navigationController
,现在我有以下场景:在VC4
中,我将连接到webserver
,根据用户在VC1
中选择的内容检索一些数据
我在VC2
、VC3
和VC4
的头文件上声明属性
@property(强,非原子)NSString*myString
现在,我使用prepareforsgue
方法传递这个@property
,因为我使用的是storyboard
。所以基本上,它们在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
。我只关心将内存分配给我不使用的对象,不管大小如何 你的方法是正确的
或者,您也可以始终使用
的视图控制器属性
您可以通过调用以下命令从VC4
访问VC1
:
UIViewController *vc1 = self.navigationController.viewControllers[0];
然后访问所需的VC1
数据