美文网首页iOS Developer
iOS利用block逆向传值

iOS利用block逆向传值

作者: Chase_Eleven | 来源:发表于2017-07-24 15:04 被阅读0次
传值方
.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,刷新界面
    };

}

小白总结,欢迎打脸指正

相关文章

  • ObJective-C之利用Block逆向传值

    在iOS开发之通过代理逆向传值一文中,分析了利用代理模式来逆向传值,其实还有一些其他的方式,如通知、Block等,...

  • iOS开发之利用Block逆向传值

    在iOS开发之通过代理逆向传值一文中,分析了利用代理模式来逆向传值,其实还有一些其他的方式,如通知、Block等,...

  • iOS利用block逆向传值

    传值方 接收方 其实可以不在.h文件暴露方法 传值方 接收方 小白总结,欢迎打脸指正

  • iOS页面间逆传值

    页面间传值有两种: 正向传值(利用属性传值就可以了,很简单) 逆向传值(有3种常用的方法) 代理传值 block传...

  • iOS Block逆向传值

    逆向传值的方法有很多如代理、通知、block、KVC等等。但是相对来说block是最简单方便的,前提是处理好使用b...

  • iOS开发之利用Block逆向传值

    一、书写规范Block传值,需要注意的是,谁传值就需要定义Block,捕获方仅仅需要传递Block给传值方,并处理...

  • block开发使用场景

    block传值 利用block去代理代理传值 1. 代理传值 点击当前控制器Viewcontroller利用mod...

  • 《OC之Block》

    由来:温故而知新可以为师矣。 一.Block的声明 二.Block的逆向传值 1:传值方-------------...

  • iOS页面间传值详解(二)

    在iOS页面间传值详解(一)中,介绍了iOS界面间的正向传值以及逆向传值的两种方法,其实逆向传值还可以使用bloc...

  • Block传值

    iOS传值一共有四种:属性传值,代理传值,通知传值以及Block传值; 今天我们来说一下Block传值: 概念:带...

网友评论

    本文标题:iOS利用block逆向传值

    本文链接:https://www.haomeiwen.com/subject/uqsbkxtx.html