OC 如何实现链式语法

申请一个别名属性xxName


@interface SCCModuleParam ()

@property (nonatomic, copy) NSString *paramName;

@property (nonatomic) SCCParamType paramType;

@property (nonatomic) BOOL isStrict;
@end

申明一个name方法.用xxName内部属性去接name方法

- (SCCModuleParam *(^)(NSString *))name {
    return ^SCCModuleParam *(NSString *name) {
        NSParameterAssert(name);
        self.paramName = name;
        return self;
    };
}

这样我们就可以实现.语法来访问name方法

大致效果如下

[moduleDes method:^(SCCModuleMethod * _Nonnull method) {
            [[method.name(@"open.present").selector(@selector(open_present:callback:)) parameters:^(SCCModuleParamEnumerator * _Nonnull enumerator) {
                enumerator.next.name(@"dic").type(SCCParamTypeMap);
                enumerator.next.name(@"block").type(SCCParamTypeBlock);
            }] resultType:SCCParamTypeObject];
 }];

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容