iOS跨页面传值-协议代理方式

MainPageView本为主页面,后变为另一页面的headerView,发现push失效,将该页面的内容点击按钮后传入另一页面。
.h文件

#import 
//协议
@protocol MainPageViewDelegate

-(void)passViewController:(UIViewController*)vc;

@end


@interface MainPageView : UIViewController

@property(nonatomic,weak)id delegate;  //声明代理

@end

.m文件

- (IBAction)shxxAction:(id)sender {
    AddRepairView *repairView = [[AddRepairView alloc] init];
    [_delegate passViewController:repairView];
}

另一页面:
.m文件
实现代理

设置代理对象:

- (void)viewDidLoad {
 MainPageView *mainPageView=[[MainPageView alloc]init];
  mainPageView.delegate=self;
}

实现代理方法:

#pragma mark - MainViewControllerDelegate
-(void)passViewController:(UIViewController *)vc{
    [self.navigationController pushViewController:vc animated:YES];
}

参考:https://blog.csdn.net/believehard/article/details/51542883#3
https://www.cnblogs.com/wangyaoguo/p/4874452.html

你可能感兴趣的:(iOS跨页面传值-协议代理方式)