在 B.h 中定义一个协议,passValueDelegate,并给 B 定义一个代理,代码如下:
#import
@protocol passValueDelegate
-(void)setValue:(NSString *)str;
@end
@interface B : UIViewController
@property(nonatomic,retain)id
delegate;
@end
-(void)passValue:(UIButton *)sender
{
[delegate setValue:textField.text];
[self dismissViewControllerAnimated:YES completion:nil];
}
B 中的设置已经完成,接下要在A中调用WTwoViewController,并实现passValueDelegate代码。
首先在A.h中实现代理,代码如下:
#import
#import "B.h"
@interface A : UIViewController
@property(nonatomic,retain)UITextField * textField;
@end
-(void)next:(UIButton *)sender
{
B * b = [[B alloc]init];
[self presentViewController:b animated:YES completion:Nil];
b.delegate = self;
}
-(void)setValue:(NSString *)str
{
textField.text = str;
}