在使用stoaryboard的时候,页面跳转很有可能需要参数的传递,下面介绍如何传参数:假设页面跳转为A页面—》B页面
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
}
在A页面里面重写这个方法,在跳转的时候会自己执行。
然后:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"toTwoAction"]) {
UIViewController *twoViewController = segue.destinationViewController;
if ([twoViewController respondsToSelector:@selector(setListView:)]) {
// 获取用户添加的图片,作为用户信息的一部分传入下一个页面并上传数据库
UIView *view;
NSMutableArray *images = [[NSMutableArray alloc] init];
for (int i = 1111; i < 1115; i++) {
view = [self.view viewWithTag:i];
UIImageView *imageView = (UIImageView *)[view viewWithTag:i - 1111 + 11];
if (![self.view viewWithTag:i - 1111 + 2222].isHidden) {
UIImage *image = imageView.image;
[images addObject:image];
}
}
listView.privacyImages = images;
[twoViewController setValue:listView forKey:@"listView"];
}
}
}
如上所示,我们把listView作为参数传递到了下一个页面。
其中
[segue.identifier isEqualToString:@"toTwoAction"]
表示的是我们的segue的id值,可以在这里设置:
我们点击segue的时候,在右面的设置框中会出现identifier输入框。
最重要的是:不要忘记在B页面写上我们的传值预定义的变量: