我有一个我想在两个 MVC 之间切换的对象。第一个 MVC 中的属性是否与对象一起被 segued,或者只是方法。IE:如果我有一个值为 5 的 int 属性,然后执行传递对象的 segue。我的新 MVC 是否可以访问此属性和值 5?还是只能访问传递的对象方法?
问问题
163 次
2 回答
0
不。遗憾的是,属性并没有神奇地通过 segues 自己(还)。
你应该做的是prepareForSegue:sender:
在你的视图控制器中覆盖。然后您可以使用[segue destinationViewController]
. 一旦你有了对视图控制器的引用,你就可以设置它的属性。
于 2012-07-22T04:42:04.747 回答
0
在 segue 中,不会在目标 viewController 上传递或设置属性。如果你想让你的目标 viewController 使用一个对象(类的实例)或一些简单的变量,你必须在你的目标 viewController 类中定义那个属性,然后设置它prepareForSegue:
例如,在下面的代码位中,目标 viewController 有一个属性“sectionToShow”,并且正在调用该属性的设置器。
另一种方法是为目标 viewController 定义一个委托并以相同的方式设置它。然后目标 viewController 可以调用方法并访问委托的属性。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSString* identifier = segue.identifier;
if([identifier isEqualToString:@"userGuideSegue_home"]){
UserGuideViewController* vc = segue.destinationViewController;
[vc setSectonToShow:@"Home Screen"];
}
}
于 2012-07-22T04:42:11.860 回答