美文网首页iOS开发知识小集麦子面试题精选转载iOS
iOS面试题:基于CTMediator的组件化方案,有哪些核心组

iOS面试题:基于CTMediator的组件化方案,有哪些核心组

作者: iOS猿_员 | 来源:发表于2019-02-21 22:21 被阅读481次

原文:iOS面试题大全

假如主APP调用某业务A,那么需要以下组成部分:

  • CTMediator类,该类提供了函数 - (id)performTarget:(NSString *)targetName action:(NSString *)actionName params:(NSDictionary *)params shouldCacheTarget:(BOOL)shouldCacheTarget;
    这个函数可以根据targetName生成对象,根据actionName构造selector,然后可以利用performSelector:withObject:方法,在目标上执行动作。

  • 业务A的实现代码,另外要加一个专门的类,用于执行Target Action
    类的名字的格式:Target_%@,这里就是Target_A。
    这个类里面的方法,名字都以Action_开头,需要传参数时,都统一以NSDictionary*的形式传入。
    CTMediator类会创建Target类的对象,并在对象上执行方法。

  • 业务A的CTMediator扩展
    扩展里声明了所有A业务的对外接口,参数明确,这样外部调用者可以很容易理解如何调用接口。
    在扩展的实现里,对Target, Action需要通过硬编码进行指定。由于扩展的负责方和业务的负责方是相同的,所以这个不是问题。

相关文章

网友评论

    本文标题:iOS面试题:基于CTMediator的组件化方案,有哪些核心组

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