美文网首页学习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