使用委托——delegate进行参数传递

在不同的视图控制器viewcontroller之间传递重要的参数,一种简单的方法就是通过委托——delegate

首先我们有两个viewvontroller,一个为父viewcontroller:A,一个为子viewcontroller:B

我们需要把 B中的数据传递给A, 实现方法如下:

1. 首先,在B.h中定义一个delegate:

@protocol ViewDelegate 
@required
- (void)tapAction:(int)tag;
@end

2.在B的头文件B.h里,声明delegate:

@property (nonatomic, assign) id delegate;

3.在B.m中实现delegate:

- (void)set:(UIButton *)button
{
    if ([self.delegate respondsToSelector:@selector(tapAction:)]) {
        [self.delegate tapAction:self.number];
    }
}


4.在A.h中添加delegate:

@interface AViewController ()

@end


5.B.m实现

- (void)tapAction:(int)tag{
    NSString *title = [NSString stringWithFormat:@"%d",tag];
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:title message:nil delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
    [alertView show];
}






你可能感兴趣的:(IOS开发)