通过协议在页面之间传值

如果你写的viewcontroller顺序是A---->B,你想从B传值到A,用一个简单的协议方法即可

以下是效果图

代码如下:

在nextviewcontroller.h中声明一个协议

@protocol saveTextDelegate<NSObject>
@required
-(void)SaveTheText:(NSString *)str;


@end

@interface NextViewController : UIViewController

{
    IBOutlet UITextField *textField;
    
}
@property(nonatomic,retain)UITextField *textField;
@property(nonatomic,retain)id<saveTextDelegate>delegate;

//自定义一个方法用以返回到main页面

-(IBAction)SaveTheTextInput:(id)sender;

在.m文件中只用调用自定义的方法即可

-(IBAction)SaveTheTextInput:(id)sender
{
    [self.delegate SaveTheText:textField.text];
    [self.navigationController popViewControllerAnimated:YES];
    
}

在mainviewcontroller跳转到nextviewcontroller时调用改协议即可实现该协议(前提是引用协议)

//引用方法

@protocol saveTextDelegate ;

@interface MainViewController : UIViewController<saveTextDelegate>


//自定义一个跳转到nextviewcontroller的方法

-(IBAction)GotoNextView:(id)sender
{
    NextViewController *nextVC=[[NextViewController alloc]initWithNibName:@"NextViewController" bundle:nil];
    nextVC.delegate=self;
    [self.navigationController pushViewController:nextVC animated:YES];
    [nextVC release];
    
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值