一个方法里面相同的代码复用

代码复用

oc 里面无法方法嵌套,可以用block实现代码复用。


/// 显示皮肤列表弹窗
- (void)showReaderThemeListView
{
    [self hiddenReaderToolView];

    void (^ showThemeAlertBlock)(void) = ^(void) {
        self.toolTapGR.enabled = NO;
        MJWeakSelf
        HYMoreImageThemeAlertView *alertView = [HYMoreImageThemeAlertView showInView:self.view withThemeList:self.themeListArray closeBlock:^{
            weakSelf.toolTapGR.enabled = YES;
        }];
        alertView.themeChangeBlock = ^{
            [weakSelf moreThemeVCThemeChanged];
        };
    };

    if (self.themeListArray && self.themeListArray.count > 0) {
        showThemeAlertBlock();
    } else {
        MJWeakSelf
        [self getThemeList:^(NSArray<HYImageThemeModel *> *_Nonnull array) {
            if (array && array.count > 0) {
                showThemeAlertBlock();
            } else {
                [HYToastView showRemindMessageToView:weakSelf.view withMessage:@"加载皮肤失败,请重试!"];
            }
        }];
    }
}

在swift中 方法里面可以嵌套另一个方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容