ios中利用委托在二个视图间传值

来源:互联网 发布:自然语言处理数据挖掘 编辑:程序博客网 时间:2024/05/19 03:44

ios中利用委托在二个视图间传值

1、定义协议

UIViewPassValueDelegate.h

1 #import <Foundation/Foundation.h>2 3 @protocol UIViewPassValueDelegate <NSObject>4 -(void)passValue:(NSString *)value1;5 @end

2、A视图定义

复制代码
 1 #import "UIViewPassValueDelegate.h" 2  3 @interface AViewController : UIViewController<UIViewPassValueDelegate> 4  5 -(IBAction)buttonClick:(id)sender; 6  7 -(void)passValue:(NSString *)value1{ 8     NSLog(@"A get value is %@",value1); 9 }10 11 -(IBAction)buttonClick:(id)sender{12     BViewController *b = [[BViewController alloc] init];13     b.delegate = self;  // 将A作为一个变量传给B,这样在B中对delegate的任何操作其实就是对A的操作。14     [self presentViewController:b animated:YES completion:nil];15 }
复制代码

3、B视图定义

复制代码
 1 #import "UIViewPassValueDelegate.h" 2  3 NSObject<UIViewPassValueDelegate> *delegate; 4 @property (nonatomic,retain) NSObject<UIViewPassValueDelegate> *delegate; 5 - (IBAction)buttonClick:(id)sender; 6  7 @synthesize delegate; 8 -(IBAction)buttonClick:(id)sender{ 9     [delegate passValue:@"ddd"];10     NSLog(@"B text = ddd");11     [self dismissViewControllerAnimated:YES completion:nil];12 }
复制代码

这样我点击B视图的按钮时就可以将值传给A视图了。

0 0
原创粉丝点击