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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,939评论 19 139
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,302评论 3 119
  • 2018.4.18 星期四 天气晴 今晚回家,孩子在写作业,听见我回来就跑出来给我个拥抱,因为中午是...
    三年级四班崔金兴阅读 356评论 0 4
  • 姓名:杨蕊芝 公司:上海盈盟机械有限公司 组别:努力一组 【知~学习】 读诵六项精进大纲1篇遍2共计289遍 ...
    Linda_a173阅读 114评论 0 0
  • 集成学习中三个著名的算法boosting、bagging和random forest. bagging算法使用了重...
    wuli777阅读 362评论 0 0

友情链接更多精彩内容