美文网首页
CTMediator实现原理

CTMediator实现原理

作者: Henry_978b | 来源:发表于2020-04-03 21:24 被阅读0次

    概述

    基本构成:Target_XX、CTMediator、CTMediator_XX分类,XX为模块名称,可以用static字符串来保存

    CTMediator接口分析

    + (instancetype _Nonnull)sharedInstance;
    
    // 远程App调用入口
    - (id _Nullable)performActionWithUrl:(NSURL * _Nullable)url completion:(void(^_Nullable)(NSDictionary * _Nullable info))completion;
    // 本地组件调用入口
    - (id _Nullable )performTarget:(NSString * _Nullable)targetName action:(NSString * _Nullable)actionName params:(NSDictionary * _Nullable)params shouldCacheTarget:(BOOL)shouldCacheTarget;
    - (void)releaseCachedTargetWithTargetName:(NSString *_Nullable)targetName;
    

    调用流程

    1.添加XX模块的的CTMediator分类,定义接口,接口内部通过运行时动态生成target的实例,采用performSelector的方式动态调用target对应的action,如果不存在则调用target的notFound方法,如果还没找到则使用默认的noTarget 方法,防止崩溃。

    相关文章

      网友评论

          本文标题:CTMediator实现原理

          本文链接:https://www.haomeiwen.com/subject/emhlphtx.html