美文网首页
iOS Swift 组建化探讨

iOS Swift 组建化探讨

作者: litRed | 来源:发表于2021-05-26 13:51 被阅读0次

利用 Swift 的协议实现组建化,在 Protocol 中声明约定,在各子模块中扩张协议实现方法,主项目自由组合

协议声明


public protocol LoginViewProtocol {

    static func createViewController() -> UIViewController

}

在集成的库里面实现 LoginModule


public extension LoginViewProtocol {

    static func createViewController() -> UIViewController {

        let viewController = LoginViewController()

        return viewController

    }

}

主项目使用


import LoginModule

struct RoutersInstance {

    struct LoginView: LoginViewProtocol {

    }

}

let viewController = RoutersInstance.LoginView.createViewController()

navigationController?.pushViewController(viewController, animated: true)

实现模块组装,在编译时就可以检查出 LoginModule 是否有实现,如无则报错。切换模块时只需更换 LoginModule
初步想法,欢迎讨论 git:https://github.com/zhulihong89/SwiftRouter

相关文章

网友评论

      本文标题:iOS Swift 组建化探讨

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