美文网首页学习iOS Developer
iOS Swift package manager 组件化 路由

iOS Swift package manager 组件化 路由

作者: 加州旅馆1116 | 来源:发表于2021-09-05 18:32 被阅读0次

    ZPPRouter

    絕件C.png

    : SPM 每一个组件最终生成的都是 framwork库 意味着组件存在命名空间(优点)

    ZPPRouter 使用示例:

    1. 定义 xxxProtocol
    public protocol xxxProtocol: UIViewController {
        
    }
    
    
    1. 实现获取方法
    extension JLRouteProtocol where Self == ZPPRouter<xxxProtocol> {
        
        @discardableResult
        public static func makeDestination(config: ((xxxProtocol) -> Void)) -> xxxProtocol {
            let item = makeDestination()
            config(item)
            return item
        }
        
        @discardableResult
        public static func makeDestination() -> xxxProtocol {
            
            return UIViewController()
        }
    }
    extension UIViewController: xxxProtocol {}
    
    
    1. 获取 UIViewController
    let vc = ZPPRouter<xxxProtocol>.makeDestination()
    
    或者
    
    ZPPRouter<xxxProtocol>.makeDestination {
       $0.view.backgroundColor = .red
    }
    
    

    Dome:
    https://github.com/ZPP506/ZPPRouter

    推荐实践

    ZPPRouterCenter:

    1. 引用所有组件

    ZPPRouterService:

    1. 定义组件对外协议
    2. 定义获取组件方法
    mbb工程结构图.png
    1.png
    2.png
    3.png
    4.png
    5.png
    6.png
    7.png

    相关文章

      网友评论

        本文标题:iOS Swift package manager 组件化 路由

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