如果你写的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];
}