#waring 第一步:创建协议
@protocol SecondViewControllerDelegate<NSObject>
//传值的方法一般都带一个或者多个参数
-(void)passValue:(NSString *)string
@waring 第二步:创建一个代理人属性 用来执行协议
@property(nonatomic,assign)id<SecondViewControllerDelegate>delegate;
属性用assion的原因是:防止无限拥有
#waring 第三步:在合适的位置设定好代理 delegate的对象执行协议方法
[self.delegate passValue:self.text.field.text];
#waring 第四步:遵循协议
@interface MainViewController ()<SecondViewControllerDelegate>
SecondViewController *secondVC = [[SecondViewController alloc] init];
#warning 第五步:设置第二个页面的代理人
secondVC.delegate = self;
[self.navigationController pushViewController:secondVC animated:YES];
[secondVC release];
#warning 第六步:实现相应的协议方法
- (void)passValue:(NSString *)string
{
// 利用传过来的string参数 给自己的空间赋值
UIButton *button = (UIButton *)[self.view viewWithTag:10000];
self.title = string;
[button setTitle:string forState:UIControlStateNormal];
}