MasterWorker 1.0.2

MasterWorker 1.0.2

Larry 维护。



  • 作者:
  • Larry

MasterWorker

MasterWorker 是一个用于解耦 viewControlllers 的路由器

安装

下载并将其放入您的 Swift 项目中

用法

//1. make your viewController routable
extension YourController: MasterWorkerRoutable {
    func setupWithPath() {
        guard let path = path else {
            return
        }
        path.actionBlock?(self)
    }
    static func initWith(action: MasterWorkerRouterPathable?) -> UIViewController {
        guard let vc = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "YourController") as? YourController else {
            return UIViewController()
        }
        vc.path = action
        return vc
    }
}
//2. create your routerPath
enum YourVCType: MasterWorkerRouterPathable {
    var viewcontroller: MasterWorkerRoutable.Type {
        return YourController.self
    }
    var actionBlock: ActionBlock? {
        switch self {
        case .normal(let title):
            return {(vc) in
                if let vc = vc as? YourController {
                    vc.label.text = title
                }
            }
        }
    }
    case normal(title: String)
}
//3. make sure your viewController call setupWithPath when ViewDidLoad
class YourController: UIViewController {
    @IBOutlet weak var label: UILabel!
    var path: MasterWorkerRouterPathable?
    override func viewDidLoad() {
        super.viewDidLoad()
        setupWithPath()
    }
}
//4. in your original viewcontroller callMasterWorkerRouter.open to navigate next viewcontroller 
func goToYourController(title: String) {
        MasterWorkerRouter.open(current: self, path: YourVCType.normal(title: title))
    }

许可协议

MIT