block 反向传值回调

时间:2023-03-09 18:49:37
block 反向传值回调

/**

*  block 反向传值回调

*/

//在第二个控制器中

//   (1)声明block,在基类中已写好

//   (2)写好传值方法

//(1)

typedef void (^ReturnMessageBlock)(id *showText);

@property (nonatomic, copy) ReturnMessageBlock returnMessageBlock;

- (void)returnMessage:(ReturnMessageBlock)block;//方便第一个控制器调用block

//(2)

- (void)returnMessage:(ReturnMessageBlock)block {

self.returnMessageBlock = block;

}

- (void)viewWillDisappear:(BOOL)animated {

if (self.returnMessageBlock != nil) {

//-----反向传值----

self.returnMessageBlock(self.nickNameTextField.text);

}

}

//在第一个控制器中

//(1)通过调用第二个控制器的block 将传来的值显示在相应位置上

JYEMineModifyNickNameViewController * modifyNickNameController = [[JYEMineModifyNickNameViewController alloc] init];

/**

*  反向传值block

*/

[modifyNickNameController returnMessage:^(id showText) {

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

cell.detailTextLabel.text = showText;

}];