ios 中block 中传block参数

本文深入探讨了Objective-C中桥接机制的实现原理,详细解释了如何使用block进行参数传递,并展示了具体的应用实例。文章涵盖了block的空值处理、参数设置及与JavaScript交互的方法,对理解iOS开发中的Objective-C桥接机制有重要价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

- (void)registerHandler:(NSString *)name handler:(void (^)(id data,void(^response)(id data)))handler;

调用

 handler(data, ^(id resp){

                    @strongify(self);

                    [self jsResponse:@{@"data" : resp ?: [NSNull null]}

                          callbackId:callbackId];

                });

传参数

 [bridge registerHandler:CoinsGoRules handler:^(id data, TXWJCallback response) {

        

        response(@"asdf");

        NSString *scheme = [FDUrlManager FDH5Url];

        NSString *language = [LanguageManager manager].currentLanguage.code;

        NSString *statusBarH = @"20";

        if ([UIDevice isIphone_x_Series]) statusBarH = @"44";

        NSString *urlStr = [[NSString stringWithFormat:@"%@/help/243?lang=%@&", scheme,language] appendDefaultParams];

        

        ADWebViewController *webVC = [[ADWebViewController alloc] initWithCompleteURL:urlStr title:NSLocalizedStringFromTable(@"app_coins_rules", @"Account", nil)];

        [self.navigationController pushViewController:webVC animated:YES];

    }];

block 其他的一些注意事项

1 block 值可选为空的设置

- (void)updateSolartermsWithUrl:(NSString *)downloadUrl
                           name:(NSString *)solartermName
                 updateTimeLong:(NSInteger)updateTimeLong
                     completion:(void (^_Nullable)(BOOL success))completionBlock;

block 可以为空的设置

```

- (void)remoteSolarThemeDataWithCompletion:(void (^ __nullable)(BOOL, NSString *))completionBlock

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值