您的位置:首页 > 移动开发 > IOS开发

iOS 使用Block实现界面间传值

2015-08-05 11:53 429 查看
1.传值界面(SendValue):
1.1 SendValue.h文件:

// 定义Block,设置传递的参数
typedef void(^ReturnButtonClick)(UIButton *Button);


// Block属性
@property (nonatomic, copy)ReturnButtonClick returnButtonClick;


// Block回调方法
- (void)returnButtonClick:(ReturnButtonClick)block;


1.2 SendValue.m文件:

- (void)returnButtonClick:(ReturnButtonClick)block
{
if (block)
{
self.returnButtonClick = block;
}
}


// 须要传值的位置
- (void)clickButton:(UIButton *)button
{
if (self.returnButtonClick)
{
self.returnButtonClick(button);
}
}


2.接收界面(ReceiveValue):
在须要接收参数处理的地方回调Block:

SendValue *sendValue = [[SendValue alloc] init];

__weak typeof(self) weakSelf = self; // 避免循环强引用

[sendValue returnButtonClick:^(UIButton *button) {
// Block回调处理
weakSelf.backgroundColor = button.backgroundColor;
}];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: