block的用法

1、声明一个无返回值的block 
typedef void(^onSearch)(NSString *searchText); onSearch 就是这个block的函数指针

2.在控制器中头文件.h中定义block,分两步:
<1>定义成属性 
@property (nonatomic)  onSearch searchBlock;

<2>定义一个block的setter方法
-(void)setSearchBlock:(void(^)(NSString *searchText)) block;

3.在控制器的实现文件.m中来实现
-(void)setSearchBlock:(void(^)(NSString *searchText)) block {
        if (block) {
                 self.searchBlock = block;
        }
}

4.在控制器中使用block实现回调. 当点击search按钮时,将search的文本传递给订阅者
-(void)searchHandler:(id)sender {
       if (self.searchBlock) {
                self.searchBlock(@"your search keyword")
        }
}

5.在订阅者中,接收过来的参数,并做其它操作
YourVC  *vc = [YourVC new];
[vc setSearchBlock:^(NSString *searchText) {
             NSLog(@"get search keyword")       
 }]



转载于:https://my.oschina.net/jilin/blog/399064

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值