iOS利用block逆向传值

传值方
.h文件
#import <UIKit/UIKit.h>

@class AddPushCourseSearchModel;

//自定义类型
typedef void(^SelectedDiseaseBlock)(AddPushCourseSearchModel *searchModel);

@interface AddPushCourseSearchViewController : UIViewController

//声明自定义类型
@property (nonatomic, copy) SelectedDiseaseBlock selectedDiseaseBlock;

- (void)returnDisease:(SelectedDiseaseBlock)block;

@end


.m文件
- (void)returnDisease:(SelectedDiseaseBlock)block{
    self.selectedDiseaseBlock = block;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    //点击Cell 添加回调函数,传model
    AddPushCourseSearchModel *model = _courseList[indexPath.row];
    if (self.selectedDiseaseBlock) {
        self.selectedDiseaseBlock(model);
        [self backAction];
    }
}
接收方
- (void)nurseAddIllnessEvent{
    AddPushCourseSearchViewController *VC = [[AddPushCourseSearchViewController alloc] init];
    [self.navigationController pushViewController:VC animated:YES];
    [VC returnDisease:^(AddPushCourseSearchModel *searchModel) {
        #warning 拿到model,刷新界面
    }];
}

其实可以不在.h文件暴露方法

传值方

.h文件
#import <UIKit/UIKit.h>

@class AddPushCourseSearchModel;

//自定义类型
typedef void(^SelectedDiseaseBlock)(AddPushCourseSearchModel *searchModel);

@interface AddPushCourseSearchViewController : UIViewController

//声明自定义类型
@property (nonatomic, copy) SelectedDiseaseBlock selectedDiseaseBlock;

@end


.m文件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
   //点击Cell 添加回调函数,传model
   AddPushCourseSearchModel *model = _courseList[indexPath.row];
   if (self.selectedDiseaseBlock) {
       self.selectedDiseaseBlock(model);
       [self backAction];
   }
}

接收方

- (void)nurseAddIllnessEvent{
    AddPushCourseSearchViewController *VC = [[AddPushCourseSearchViewController alloc] init];
    [self.navigationController pushViewController:VC animated:YES];
    
    VC.selectedDiseaseBlock = ^(AddPushCourseSearchModel *searchModel) {
        #warning 拿到model,刷新界面
    };

}

小白总结,欢迎打脸指正

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,540评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • iOS开发中,页面传值是很常见的,但是页面传值你究竟知道多少呢?笔者这篇文章就是给大家介绍一下页面传值的具体方式,...
    蒲公英少年阅读 2,186评论 10 44
  • 母亲节马上就要到了。看到很多文章都是赞美母亲的。在我的记忆当中。对母亲没有什么太深的印象,有点印象也是模糊的,说一...
    carlblue阅读 357评论 0 0
  • 爬取图片基本上告一段落了,方法大同小异,最关键的是如何应对反爬虫,使自己的爬虫程序能够连续不间断地运行下去。视频试...
    八神苍月阅读 11,381评论 1 1