iOS ViewController利用代理页面传值

共用到两个视图控制器,一个为AddViewController,为源控制器,另一个NotListViewController,为目标控制器。

1.首先建立委托 AddViewController界面为源视图

@class AddViewController;
@protocol addDelegate
    @optional
-(void) SStringWith:(AddViewController *)vc text:(NSString *)value;
@end

 

2.在源控制器中声明委托

@interface AddViewController : UIViewController
- (IBAction)add:(id)sender;
@property (nonatomic,assign) id<addDelegate> delegate;
@end

3.在源控制器中添加赋值方法

- (IBAction)add:(id)sender {
    [self.delegate SStringWith:self text:@"bbbbb"];
}

 4.在目标控制器中声明委托

@interface NoteListTableViewController : UITableViewController<addDelegate>

 5.获取源控制器,设置委托指向目标控制self

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    AddViewController *vc=segue.destinationViewController;
    vc.delegate=self;
}

 6.目标控制器实现委托方法

-(void) SStringWith:(AddViewController *)vc text:(NSString *)value
{
   NSLog(value);
}

 至此完成传值。

 

你可能感兴趣的:(iOS ViewController利用代理页面传值)