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

2018-08-07  本文已影响0人  bd8915df25f2

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

#import <UIKit/UIKit.h>
//协议
@protocol MainPageViewDelegate<NSObject>

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

@end


@interface MainPageView : UIViewController

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

@end

.m文件

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

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

设置代理对象:

- (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

上一篇 下一篇

猜你喜欢

热点阅读